約 4,412,198 件
https://w.atwiki.jp/titanquest/pages/355.html
Griefmaker 日本語訳:グリーフメーカー 性能 126 ~ 133 Damage 15% 貫通(AE) 10% Piercing Speed Fast 15.0% Chance of +145% Pierce Damage 192 Bleeding Damage over 3.0 Seconds 15.0% Chance of 159% Bleeding Damage with +58% Improved Duration 33 Pierce Damage +31 Strength +36 Offensive Ability Required Player Level 38 Required Strength 287 Required Dexterity 235 解説 必要能力値に対してダメージが良い。 AttackSpeedにBonusが無いが、他の方法で補えば何とかなる。 Epic序盤に手に入れられれば頼れる存在である。
https://w.atwiki.jp/tmogmni/pages/26.html
インストール tcpserverによるqmail起動 qmailのroot宛のメールを受け取るには qmailの管理ツール DDNS+qmailで携帯にメールが送れない対策 qmailのキューを削除 qmail自動起動設定 不正中継されていないかチェックできるサイト メール配送失敗した場合の返送先を指定 qmailの設定ファイルの説明 qmailの詳しい説明サイト ユーザ追加時に自動でMaildirを生成 インストール 参考:http //www.asahi-net.or.jp/~aa4t-nngk/qmail.html 参考:http //itbtech.itboost.co.jp/inst/inst_08.php まず、qmailホームディレクトリを作成。 # mkdir /var/qmail 次にqmailのプロセスが使用するgroupとuserを作成。 (gidとuidを600番台とするが自由) # groupadd -g 600 nofiles # groupadd -g 601 qmail (以下改行されてるけど1行で記述する) # useradd -u 600 -g nofiles -d /var/qmail/alias \ -m -k /dev/null -s /sbin/nologin alias # useradd -u 601 -g nofiles -d /var/qmail \ -m -k /dev/null -s /sbin/nologin qmaild # useradd -u 602 -g nofiles -d /var/qmail \ -m -k /dev/null -s /sbin/nologin qmaill # useradd -u 603 -g nofiles -d /var/qmail \ -m -k /dev/null -s /sbin/nologin qmailp # useradd -u 604 -g qmail -d /var/qmail \ -m -k /dev/null -s /sbin/nologin qmailq # useradd -u 605 -g qmail -d /var/qmail \ -m -k /dev/null -s /sbin/nologin qmailr # useradd -u 606 -g qmail -d /var/qmail \ -m -k /dev/null -s /sbin/nologin qmails ソースをダウンロード。ここではnetqmailを使う。netqmailはいろいろパッチがあたった状態のqmailなのでインストールが少しだけ楽になる。(それでもパッチは当てなくちゃならない) netqmail-1.05.tar.gz DL先 http //qmail.org/netqmail-1.05.tar.gz 必要なパッチを以下からダウンロード。 netqmail-1.05-smtpd-auth-0.31.patch DL先 http //www.asahi-net.or.jp/~aa4t-nngk/codes/netqmail-1.05-smtpd-auth-0.31.patch qmail-date-localtime.patch DL先 http //www.asahi-net.or.jp/~aa4t-nngk/codes/qmail-date-localtime.patch 上記ファイルを/usr/local/srcにコピー。 インストール開始。 # cd /usr/local/src # tar xvfz netqmail-1.05.tar.gz # rm netqmail-1.05.tar.gz # cd netqmail-1.05/ # ./collate.sh 必要なパッチを当てる。 # cd netqmail-1.05/ # patch -p1 ../../qmail-date-localtime.patch # patch -p1 ../../netqmail-1.05-smtpd-auth-0.31.patch インストール。 サーバホスト名は環境に合わせる(hoge.comとか) # make setup check # ./config-fast サーバホスト名 完了。 manページを読めるように修正。 # vi /etc/man.config MANPATH /usr/share/man などが書かれている辺りに MANPATH /var/qmail/man と足す。 sendmailのラッパーを使えるようにする。 # ln -s /var/qmail/bin/sendmail /usr/sbin/sendmail # ln -s /var/qmail/bin/sendmail /usr/lib/sendmail メール使うユーザの追加。ここではinfoというユーザを追加した。 # useradd info ユーザのMailDirの整備。 # su info $ /var/qmail/bin/maildirmake /home/info/Maildir $ exit システム環境の整備。 /etc/profile の以下の部分を編集。 MAIL="$HOME/Maildir" --変更 MAILDIR=$MAIL --追加 export PATH USER LOGNAME MAIL MAILDIR ... --MAILDIRを挿入 /etc/login.defs も修正。 QMAIL_DIR Maildir --コメント解除 MAIL_DIR Maildir --変更 #MAIL_FILE .mail --要らないのでコメントアウト 起動準備。 # cd /var/qmail/alias # touch .qmail-postmaster .qmail-mailer-daemon .qmail-root # chmod 644 .qmail* /var/qmail/boot/homeを/var/qmailにrcという名前でコピー。 # cp /var/qmail/boot/home /var/qmail/rc Maildirへの移行。 コピーした/var/qmail/rcファイルの内容を下記のように編集。 qmail-start ./Mailbox splogger qmail ↓ qmail-start ./Maildir/ splogger qmail MailDir対応設定。 # /var/qmail/bin/maildirmake ~alias/Maildir # chown -R alias /var/qmail/alias/Maildir/ ここまできて、やっと起動。長かった。 # /var/qmail/rc 終了するときは以下。 #pkill qmail-send メール受信テスト。 # echo to info@hoge.com | /var/qmail/bin/qmail-inject # more /var/qmail/alias/Maildir/new/xxxxxxxxx tcpserverによるqmail起動 まずtcpserverをインストール。以下からソースダウンロードして/usr/local/srcにコピー。 ftp //ftp.jp.qmail.org/qmail/ucspi-tcp-0.88.tar.gz インストール開始。 # cd /usr/local/src/ # tar xvfz ucspi-tcp-0.88.tar.gz # rm ucspi-tcp-0.88.tar.gz # cd /ucspi-tcp-0.88/ パッチを当てる(netqmailの中にあるパッチを使用) # patch -p1 ../netqmail-1.05/other-patches/ucspi-tcp-0.88.errno.patch # patch -p1 ../netqmail-1.05/other-patches/ucspi-tcp-0.88.a_record.patch インストール # make # make setup check cdbファイルの作成。/etc/tcp.smtp として作成する。 # vi /etc/tcp.smtp 192.168.0.allow,RELAYCLIENT="" 127. allow,RELAYCLIENT="" allow←これは受信用 # /usr/local/bin/tcprules /etc/tcp.smtp.cdb /etc/tcp.smtp.tmp /etc/tcp.smtp tcpserverを介してqmailを起動する。下記コマンドで起動する。 (一行で記述。UID,GIDは id qmaild コマンドで確認できる) # tcpserver -v -u[qmaildのUID] -g[nofilesのGID] -x /etc/tcp.smtp.cdb 0 smtp /var/qmail/bin/qmail-smtpd 2 1 | /var/qmail/bin/splogger smtpd 3 終了するときは ps aux | grep tcp とかで pid調べて kill コマンド。 qmailのroot宛のメールを受け取るには 参考:http //daisy.math.sci.ehime-u.ac.jp/users/tsuchiya/unix/freebsd/qmail.html qmailでは,rootは直接メールを受取ることができない。そこで、.qmail-rootでroot宛のメールを受取る人(のメールアドレス)(複数の宛先指定可能)を書く。フォーマットは以下。 hoge hoge1@hogehoge.hoge hoge2@hogehoge.hoge qmailの管理ツール queue の内容をリストにして表示。 /var/qmail/bin/qmail-qread DDNS+qmailで携帯にメールが送れない対策 参考元:http //miyazaki.ddo.jp/linuxserver/qmailkeitai.html (DDNS) ダイナミックDNS を使用してメールサーバを立ち上げていると、携帯宛にメールが送れない。もうずっと前から気が付いていたので、いつも携帯宛に送るときだけはメーラの設定を自SMTPサーバではなく、契約プロバイダの SMTPサーバを指定して送信していた。 最近は携帯各社の迷惑メール対策が厳しく行われているため、DDNSなどから接続した IP アドレスを逆引きしたドメイン名とメールサーバのドメイン名が異なる場合には SPAMメールの疑いがあると判断されて接続を拒否されているためである。(たぶん) だから、携帯宛のメールについては諦めていたのだが自分がお世話になっている DDNSサービス 「Dynamic DO!.jp 」 のFAQに 「Q26. 携帯電話へメールが送れません。」という項目があって sendmail の場合には契約プロバイダ経由で送ればよいということが書いてあった。あ、そうか!直送するんじゃなくて一旦契約プロバイダを通せばいいんだという単純なことにここで初めて気が付いた。 qmail の場合の設定方法は書いてなかったのでいろいろ調べたら http //www.f-bell.net/FreeBSD/mail_to_j-phone.html でドンピシャの設定方法を発見した。 それによると プロバイダのsmtpサーバがたとえば smtp.your.provider.jp だとすると 設定ファイル /var/qmail/control/smtproutes に たとえば j-phone,docomo,au に送信する場合のみ 外部 smtp サーバを設定するなら jp-k.ne.jp smtp.your.provider.jp jp-n.ne.jp smtp.your.provider.jp docomo.ne.jp smtp.your.provider.jp ezweb.ne.jp smtp.your.provider.jp こういう設定を行えばOKです。 qmailのキューを削除 qmHandleという便利なperlスクリプトがあるのでそれを利用。 http //sourceforge.net/projects/qmhandle から qmhandle-1.2.0.tar.gz をダウンロード。/usr/local/srcにコピー。 インストール(というか、単なるperlスクリプトなので解凍するだけ。) # cd /usr/local/src # mkdir qmhandle-1.2.0 # mv qmhandle-1.2.0.tar.gz qmhandle-1.2.0/ # cd qmhandle-1.2.0/ # tar xfvz qmhandle-1.2.0.tar.gz キューのメッセージIDを確認するには以下コマンド # ./qmHandle -l -N キューを削除するには以下コマンド(-dとメッセージIDの間は空けない) # ./qmHandle -dメッセージID qmail自動起動設定 サーバ起動時に自動でqmailが立ち上がるように設定(tcpserverを使った起動)。以下のスクリプトを /etc/rc.d/init.d/以下に qmailという名前で作成。 # vi /etc/rc.d/init.d/qmail #!/bin/sh # # qmail /var/qmail PATH=/var/qmail/bin /usr/local/bin /bin /usr/bin [ -f /var/qmail/rc ] || exit 0 case "$1" in start) # Start daemons. # 601…qmaildのuid # 600…nofilesのgid echo "Starting qmail." csh -cf /var/qmail/rc tcpserver -v -u 601 -g 600 -x /etc/tcp.smtp.cdb \ 0 smtp /var/qmail/bin/qmail-smtpd 2 1 \ /var/qmail/bin/splogger smtpd 3 echo touch /var/lock/qmail ;; stop) # Stop daemons. echo "Shutting down qmail." PID=`/bin/ps -aefw | grep qmail | awk {print $2} ` if [ ! -z "$PID" ] ; then /bin/kill ${PID} 1 /dev/null 2 1 fi echo rm -f /var/lock/qmail ;; *) echo "Usage S99qmail {start|stop}" exit 1 esac exit 0 上記起動スクリプトとリンクを張る。 # ln -s /etc/rc.d/init.d/qmail /etc/rc.d/rc2.d/S99qmail # ln -s /etc/rc.d/init.d/qmail /etc/rc.d/rc3.d/S99qmail # ln -s /etc/rc.d/init.d/qmail /etc/rc.d/rc5.d/S99qmail 不正中継されていないかチェックできるサイト CyBrain メール配送失敗した場合の返送先を指定 /var/qmail/control内にbouncefromというファイルを作成。記述方法は返送先usernameを記述するだけ。デフォルトは、MAILER-DAEMON。 または、/var/qmail/alias/.qmail-mailer-daemonファイルに配送先を以下のように指定。 # vi /var/qmail/alias/.qmail-mailer-daemon hoge hoge@hogehoge.com qmailの設定ファイルの説明 参考 http //www.f-bell.net/FreeBSD/qmail-control.html qmailインストール時に /var/qmail/control/ 以下に以下のようなqmailの設定ファイルが作成される。最低限必要なのはmeだけらしい。 me plusdomain locals defauldomain rcpthosts ■me そのメイルサーバとなっているホストの名前。 記述例:mail.hoge.com ■defaultdomain 省略時ドメイン名。設定されていない場合はmeと同じ値に設定される。ドットがないホスト名が設定されたときは、この値を追加してくれる。例:hoge@mail→hoge@mail.hoge.com 記述例:hoge.com ■locals そのメイルサーバがローカルとして処理するドメイン名の一覧。一行にひとつずつ書く。省略されるとmeを使うが、どちらもなければqmail-sendは起動されないない。user@domainというアドレスはdomainがlocalsにあるときローカルだと判定される。メイルアドレスが hoge@host.domain.net ではなくhoge@domain.net という風に設定したいときには最低限 domain.net はlocalに設定されていなければいけない。 ■rcpthosts SMTPのRCPTに現れてよいドメイン名。rcpthostsに載っていないドメイン宛のメイルは受け取らない。ここで環境変数RELAYCLIENTが設定されているときには、rcpthostsを無視して、qmail-smtpdはすべてのメイルを受け付けるようになる。 qmailの詳しい説明サイト http //www.cla.kobe-u.ac.jp/Jouhou/96/miyake/sotsuron/4syou.htm ユーザ追加時に自動でMaildirを生成 useraddコマンドで新規にユーザを作成したときに自動でMaildirを作成するには以下のコマンドを叩く。RedHatLinuxで確認。 /var/qmail/bin/maildirmake /etc/skel/Maildir echo ./Maildir/ /etc/skel/.qmail
https://w.atwiki.jp/xboxonescore/pages/152.html
CastleStorm Definitive Edition 項目数:46 総ポイント:1000 難易度:★★☆☆☆ 感度が設定できないため繊細な操作が苦手な人は苦労します。 http //www.xboxachievements.com/game/castlestorm-definitive-edition/achievements/ About to Get Real Unlocked Dark Forest in the Campaign mode.キャンペーンモードで「暗黒の森」を出現させよう。 20 Vikings Gonna Vike Unlocked Kingskeep in the Campaign mode.キャンペーンモードで「王の天守」を出現させよう。 20 Jewel Heist Unlocked Donkey Island in the Campaign mode.キャンペーンモードで「ロバの島」を出現させよう。 20 Saddle Up Your Donkeys Unlocked Ore Mine in the Campaign mode.キャンペーンモードで「鉱山」を出現させよう。 20 This Mine Is My Mine Unlocked Creek Crossing in the Campaign mode.キャンペーンモードで「小川の横断」を出現させよう。 30 Clear Eyes Full Hearts Unlocked Mountain Entrance in the Campaign mode.キャンペーンモードで「山の入口」を出現させよう。 30 Rock Blocked Unlocked Mountain Passage in the Campaign mode.キャンペーンモードで「山の通り道」を出現させよう。 30 Northern Exposure Unlocked Viking Border in the Campaign mode.キャンペーンモードで「バイキングとの境界」を出現させよう。 30 A Fistful of Hammers Unlocked Norsheim in the Campaign mode.キャンペーンモードで「ノルスハイム」を出現させよう。 35 The Family Business Unlocked Troll Village in the Campaign mode.キャンペーンモードで「トロルの村」を出現させよう。 35 Friends in Large Places Unlocked Bladgard in the Campaign mode.キャンペーンモードで「ブラッドガルド」を出現させよう。 35 Peace... Forever? Finished the Campaign mode.キャンペーンモードを終了する。 40 All-Star Reached 100% completion in Campaign mode by obtaining all the stars.すべてのスターを獲得して、キャンペーンモードで達成率100%を目指そう。 25 Angry Demolition You destroyed 3 enemy rooms with one shot.1回の射撃で敵の部屋を3つ破壊する。 15 Budding Architect Battle won using a custom castle built in the Castle Editor.ゲームモードを問わず、城エディタで作ったカスタムの城で戦闘に勝利する。 15 Upgrayedded Upgraded a troop, projectile, spell or bonus room to its maximum level.ゲームモードを問わず、軍隊、飛び道具、呪文、またはボーナス部屋を最大レベルまでアップグレードする。 20 Hard Hat Area Enemy troop killed by collapsing his own castle on him.ゲームモードを問わず敵の頭上で敵の城を崩壊させ、軍隊を倒す。 15 Eagle Eye Flag carrier killed with a Homing Eagle.ゲームモードを問わず、「ホーミングイーグル」を使って敵の旗持ちを倒す。 15 Return to Sender Enemy troop killed by a deflected projectile of his own side.ゲームモードを問わず、敵の放った飛び道具を跳ね返して敵の軍隊を倒す。 15 Ten Heads Made 10 headshot kills in a row.ゲームモードを問わず、連続10ヘッドショットを達成する。 20 Troll Hunter Killed a troll with a hero.ゲームモードを問わず、英雄でトロルを倒す。 15 Dragon Slayer Killed a dragon with a hero.ゲームモードを問わず、英雄でドラゴンを倒す。 20 Crowd Control x5 or higher multikill reached.5倍以上の複数キルを獲得します。 15 Dropping Like Flies x10 or higher killing streak reached.10倍以上の連続キルを獲得します。 15 Fight in the Shade Shot 30 or more javelins within a shooting frenzy.大乱射中に最低30のやりを投げます。 15 Here I Am Finished an Xbox Live ranked match.Xbox LIVEのランクマッチを終了させます。 15 Taste of Victory Won an Xbox Live ranked match.Xbox LIVEのランクマッチで勝利します。 20 Fear No One Won an Xbox Live ranked match against a player with higher multiplayer level.Xbox LIVEのランクマッチで自分よりも高いマルチプレイヤー ランクを持つプレイヤーに勝利します。 25 Survival Honor Posted result on every Single-Player Survival leaderboard.すべてのシングルプレイヤー サバイバルランキングに結果を投稿します。 30 Against the Machine You won a Skirmish battle on the most difficult AI setting.もっとも難しいAI設定でスカーミッシュバトルに勝利します。 15 Chip Off the Old Block Won the King s Tournament with the mystery knight.謎の騎士で王のトーナメントに優勝する。 15 Princesslessness Held back all the attackers in the Shiny Forest.シャインフォレストにて、攻撃をすべて食い止める。 20 Princess Rescued Rescued the Princess from the city of Stonecrest.ストーンクレストの街から王女を救出します。 20 Flight to Vikingland Secured the Royal Airport and got a flight to Vikingland.バイキングの国への飛行便を確保するため、王宮の飛行場を守る。 20 LZ Secured Captured the Skyship Harbor of Vikingland.バイキングの国のスカイシップハーバーを奪取する。 20 Monster Killer Killed the monster protecting Bladgard.ブラッドガルドを守っているモンスターを倒す。 20 Royal Revenge Defeated the final boss of the Royal Guard campaign.近衛兵キャンペーンの最終ボスを倒す。 30 Superstar Earned all the stars of the Royal Guard campaign.近衛兵キャンペーンですべてのスターを獲得する。 15 Prison Breaker Escaped from the prison of Vikingland.バイキングランドの牢獄から逃げた。 15 This is My Town! Liberated Norsheim.ノースハイムを解放した。 15 Throwing Like a Girl Proved yourself a worthy leader in the Battle Arena.バトルアリーナの価値あるリーダーとして証明した。 15 Unwelcome Arrival Captured the Royal Airport.ロイヤルエアポートを奪った。 25 No Kingdom for the Old Man Secured King Edgar s safety.エドガー王の安全を守った。 25 Fate of Traitors You defeated the traitor s army at Stonecrest.裏切り者の軍隊をストーンクレスで破った。 25 For My Father Defeated the final boss of the Viking Elites campaign.バイキングエリートキャンペーンの最後のボスを打ち負かした。 30 Megastar Earned all the stars of the Viking Elites campaign.バイキングエリートキャンペーンの星を全て獲得した。 20 Angry Demolition https //youtu.be/qKc0TR8Szts Budding Architect お城のエディットからお城を創り保存。 保存したお城でステージクリアすれば解除されます。 Upgrayedded 武器、軍隊、呪文のいずれか一つを最大レベルにする。 レベルは最大で15まであり、普通に遊んでれば解除される。 Ten Heads キャンペーンのRoyal ArenaからMelee Masteryのミッションにて 敵兵士を弓でヘッドショットすれば解除される。 https //www.youtube.com/watch?v=XdepfyyeDt8 Megastar キャンペーンの全ての星を取る。 このゲームで最も難しく、ハードモードでのプレイを強要される。 https //www.youtube.com/watch?v=ccEQS5Jhs9s list=PL8eF-Qf_UGLQj8-YlaDNdVYKTOPIJ-Vql
https://w.atwiki.jp/elona_valiant/pages/156.html
readme_baby.txt(omake_baby_20130109-194827) ---- elona_omake の追加版です elona_omake.exe と同じ場所に置いて使用してください 特に新機能の開発などはしていません 既に用意されているカスタムトーク用の関数や妹の日用のソースをそのまま使っているだけです omake のお兄ちゃんや overhaul のお兄ちゃん達にこんなのも追加して欲しいな~ チラッチラッ という立ち位置です ★業務連絡 最近になってVIP避難所に気付いたのでご連絡。 ヴァリアントまとめの方の掲載OKです。よろしくお願いします。 ★使用画像など 呪い人形の画像 elona公式フォーラム素材募集スレッド Mr.Q さんの全NPC・モンスターのキャラチップ差し替えセットの画像を改変させて頂きました。 http //elona.squares.net/forum/viewtopic.php?f=16 t=3723 sid=d8f11f7f74a3b8939863373903ee04b6#p25013 宝玉の葉っぱの画像 化け猫缶素材屋 さんの素材を使用させて頂きました。 http //neko.moo.jp/BS/ 単眼ちゃんの画像 Elona差し替え俺まとめ の「207:フローティング★アイちゃん!」の画像を使用させて頂きました。 http //springpoppy.nobody.jp/Nefia/ ★omake_baby 拡張設定の詳細 設定の変更から拡張設定(baby)を設定することができます。 ・カードゲーム 「オフ」にするとF3キーを押してもカードゲームが起動しなくなります ・ロミアスの矢 「オン」にするとプレイヤーが使う矢系魔法がロミアスになります ・残りHP表示 「隠す」にするとキャラのHPバーが表示されなくなります ・ダメージ表示 「する」にするとHPへのダメージ・状態以上をキャラごとに表示します ・とどめダメージ表示 「する」にすると相手の死亡時にもダメージを表示します ダメージ表示を「する」にしていないと効果がありません ・ダメージ表示の透過 「する」にすると表示される表示ダメージが半透明になって消えるようになります ダメージ表示を「する」にしていないと効果がありません ・ショートカットキー 「拡張」にすると omake_baby 用のショートカットを使えるようになります 拡張ショートカットはバニラや他のヴァリアントには反映されません 拡張ショートカットにはみだれうちも設定できます ・ペットのレベルアップ 「拡張」にするとペットもレベルアップ時に主能力・速度・その他が上昇するようになります omake でいうところの自宅警備・祝福下落でレベルが上がるのと同じになります ★更新履歴 2013/1/9 omake_baby - マユマカの炯眼の矢束を使用した後に射撃するとエラーで落ちる問題に対応 ・マユマカの宝玉を矢弾効果のない通常の宝玉に変更 ★お願い★ elonaのuserフォルダ内にある Mayumaka s bolt.item を削除してください マユマカの炯眼の矢束が残りカスになるので、野外などに放置して立ち去ってください - omake_babyに添付しているカスタムゴッドの元ファイルを格納 「babyカスタムゴッド元ファイル」フォルダを参照してください 2012/12/27 omake_baby - put_baby の初期値をミスって1にしてあったのを修正 - キャラ生成を願った場合のNPC生成位置もターゲットポイントになるように(MMAより) - 通常時もキャラ生成を願えるように ・呼び出せるのは中立の一般キャラのみです。 ・ユニークキャラ(品質が6)は呼び出せません ・話しかけることができるキャラ(関係が0)は呼び出せません ・敵対NPCは呼び出せません ・妹・妹猫・お嬢様は呼び出せません ・「キャラ生成 街の子供」というように入力してください 2012/12/26 omake_baby - 収穫の魔法で音楽チケットが降ってくる確率を願いの杖並みに下方修正 - %txtjigoの処理をomake_MMAの仕様に準拠 - 自分に口調を設定した時の%txtKilledの台詞を10分の1の確率で表示にしていたのを確実に表示させるように - %txtkuyasii2 をNPCでも表示させるように - コンソールに showroom_edit_on と入力することでショウルーム作成モードを開始するように ◆ショウルーム作成モードから元に戻すことはできません◆ ・ステータス画面の種族が「ショウルーム作者」になる ・オートセーブ無効化 ・CNPCの生成位置をターゲットポイントに変更 ・自宅以外でもハウスボードを使用できるように ・自宅以外でも滞在者の移動を可能に ・敵対NPCでも移動を可能に ・キャラ生成を願えるように 「キャラ生成 街の子供」というように入力してください ・コンソールコマンドを追加 speed_up :高速化 speed_down :鈍足化 speed_reset :速度リセット no_hungry_on :時間経過による空腹化を停止 no_hungry_off:時間経過による空腹化を開始 (速度変更は次のターンから【一歩 歩いてから】反映されます) 2012/11/4 omake_baby - 名前の巻物を読んだときログの辺りに表示が残ったままになる不具合を修正 - 殺人鬼イベントで見えざる手に葬られた時も死亡時の台詞を言うように - 気持ちいいことを疲労で失敗したときにも %txtkaradake,JP の台詞が表示されるように - プレイヤーに台詞を設定してある場合、気持ちいいこと疲労失敗時にも %txtkaradake,JP の台詞が表示されるように - omake_config に put_baby. "1" を設定することで語尾がベイベーに変わるように 2012/10/30 omake_baby - 充填の巻物でも魔道具に経験値が入っていた問題を修正 - 新規作成時に異名の選択を最初に行うように - 名前の巻物を調整 カーソル移動がリロールに影響しないように 選択肢に「別の名前を考える(ランダム)」を追加 銘がランダムでリロールされます 選択肢に「別の名前を考える(ジャンプ)」を追加 指定ページにジャンプすることができます 2012/10/29 omake_baby - 魔力の抽出・魔力の充填をしたときにも魔道具に経験値が入るように - 矢系魔法以外にも lomias_arrow. "1" が反映されていた不具合を修正 - 演奏依頼中はリトルシスターを捕獲できないように修正 2012/10/27-2 omake_baby - ジュアの癒しが範囲攻撃魔法になっている問題を修正 - 進化の秘術を中途半端に取り込んでた問題を修正 2012/10/27 omake_baby - 祭壇の情報に不整合がある場合の処理を再修正(MMAより) - 炎の巫女『フラメア』の特殊能力に対応(MMAより) - カスタムゴッドの特殊能力のパワーに計算式と{attr}と{faith}を使えるように(omake_overhaulより) - sppfindに変数を渡す際のミスを修正 - カスタムゴッドの特殊能力に魔法や技能を設定した場合、強度の反映・SPの消費が行われていなかったミスを修正 ・差分で 強度の反映 で検索して出る辺りを移動 ・差分で 特殊能力関係 で検索して出る辺り fixefp と costsp を追加 2012/10/25 omake_baby - 走っている時のダメージ表示のスクロールを滑らかに修正 - 自己認識で信仰ボーナス・フィートによる影響も表示されるように - 変化の術で黄金の騎士に変化した時に近接攻撃とリジェネレーションを行わない問題を修正 - 祭壇のinv(25, ?)の値がエイス以外でinv(27, ?)に数値が入ってる場合、改宗の処理が変になる問題を修正 バリアント間の渡りをしながら祭壇の乗っ取りをして、祭壇の情報の整合性がおかしくなったとき用の対処です - カスタムゴッドを添付 omake_babyで信仰した場合に特殊な効果が付きます。 ・千里眼の神 炯眼のマユマカ 潜在値などの情報が見えるようになる 下僕:単眼ちゃん(いろんな眼で睨む) 宝玉:マユマカの炯眼の矢束(軽量のクロスボウの矢・自己認識効果) AF:マユマカのオオユミ(軽量のクロスボウ・透明視・追加射撃) 2012/10/22 omake_baby - MMAやAAとの互換性の調整(MMA 20121021T) - 0d0のロールでHspError23が出る問題の修正 - route_infoでmaxrouteが0の時にHspError19が出る問題の修正 教えてくれたお兄ちゃんに感謝! 2012/10/21 omake_baby - フィート・変異・エーテル病を取得した際の主能力の上限を9999から9999999に変更 - omake_overhaul カスタムゴッドの聖地の同梱に対応 - 呪いのフウリに聖地を同梱 - ダナリンのアーティファクトの使用効果に対応 - ダナリン信仰の狂気度による状態異常無効が効いてなかったのを修正 - イナリの秘宝効果が取得金貨に反映されてなかったのを修正 - 水をカスタムゴッドの祭壇に置いたときの処理を調整 - 他、細かい調整 教えてくれたお兄ちゃんに感謝! 2012/10/20 omake_baby - MMAのomake_overhaulとの互換性を確保するためのテストを参考に、物件の削除で中にいるNPCのfactionデータを削除するように - aplselの文字列をタイトルと同じに変更(MMA) 2012/10/19 omake_baby - omake_overhaulのカスタムゴッド機能を取り込み 対応させた個所: カスタムゴッドの作成 信仰ボーナス 特殊能力 食べ物の祝福 信仰の巻物の祝福 祝福された信仰の巻物を使ったNPCの改宗 特製肉まんじゅう 祭壇を願えるように isubを使ったカスタムアイテム 財のイナリ・狐の嫁入り 財のイナリ・白狐の変化の術 イナリの秘宝効果 水のダナリン・深淵の目 水のダナリン・深きもの水中加速 ダナリンの水の宝玉効果 カスタムゴッドの降臨 - カスタムゴッドを添付 omake_babyで信仰した場合に特殊な効果が付きます。 ・呪いと書物の神 呪いのフウリ 呪い装備を付けたときに主能力を強化 呪い装備を付けたときのランダムテレポートとスリの手からの保護 呪い装備を付けたときのダメージを若干調整 下僕:呪い人形(ナイトメアと麻痺の矢を併用&呪いの言葉) 宝玉:風狸の怪しい木の葉(不思議な巻物効果) AF:風狸の呪われた紙人形(マナ吸収・マナ回復・その他) 2012/10/18 omake_baby - ランダムネフィアの名前が「死のの砦」といった風におかしな表示になる問題を修正 ランダムネフィアにoabitのフラグ11番が立っている場合はそれを消して地殻変動を起こすようにしてみました - 宝くじ箱を開けたときに出てくる音楽チケットの量をひかえめに調整 2012/10/12 omake_baby - 死体に「~~の死体」といった接頭語が付かなくなっていたのを修正 - 設定でペットもレベルアップ時に主能力・速度・その他が上昇するように omake_config に ex_lvup. "1" を設定するか、拡張設定(baby)から設定してください 2012/10/11 omake_baby - ギルドトレイナーでのダイエットを調整 痩せ幅を大きくした スタミナの減り具合を抑えた 疲労状態でない限り続けてダイエットできるようにした - 宿屋でのドカ食いを調整 太り幅を大きくした 満腹度の上昇具合を抑えた - 拡張ショートカットのセーブデータ領域を変更 baby_gdata.s1 に保存していたのを新たに baby_shortcut.s1 に保存するように 起動時に1回だけアップデートが走ります 2012/10/9 omake_baby - 音楽チケットを使用できるように プレイヤーの上にエモーションアイコンがランダムで表示されます ランダムで効果音が鳴ります - ギルドトレイナーで痩せるためのダイエットができるように - 宿屋で太るためのドカ食いができるように - 情報屋で名声を減らせるように 100,000 gold 支払うことで名声を 1,000 減らすことができます - 冒険者は死亡時に名声が下がるように - 腐らない食料品は素材変化の対象から除外されるように - ショートカットキーを通常と拡張で切り替えられるように omake_config に sub_shortcut. "1" を設定するか、拡張設定(baby)から設定してください "0" "通常"はバニラや他のバリアントで使用するショートカットになります "1" "拡張"は omake_baby だけに適用されるショートカットになります 拡張ショートカットを設定している場合、みだれうちもショートカットに入れられます 2012/10/7 omake_baby - 自宅で雇っている店主以外の滞在者にも「そこから動かないでほしい」と頼めるように - 称号「私が町長です」に効果を追加 ダンジョンの住人にも「そこから動かないでほしい」と頼めるように - omake_baby用の拡張設定のメニューを追加 「設定の変更」から「拡張設定(baby)」を選択してください - ダメージ表示をオンにしている場合、状態異常も表示されるように 赤文字が状態異常化、緑文字が回復を示しています - ダメージ表示をオンにしてる場合、自動的に残りHP表示を消していたのをやめるように - MMAから「omake_overhaulとの互換性を確保するためのテスト」を取り込み - その他細かい調整 追加したdeffuncの位置を変更 いらなそうな追加ラベルやdeffuncを始末 拡張設定の変数名に「cfg_」の接頭語を付加 omake_baby用称号の一覧表示の調整 - HTML版の差分ファイルを添付 変数名を置き換えた start.hsp を用意する必要がないのでこちらの方がお手軽かもしれません 2012/10/2 omake_baby - カスタムアイテムは「それはカスタムアイテムだ」と表示されるように - プレイヤーの口調を変えた場合、腐ったものを食べたときの台詞を反映し忘れていたのを修正 - 行商ベイベーが販売するストラ効果やグールド効果付きの楽器の値段を上げ忘れていたのを修正 - %txtmidare,JP でみだれうちを使った時のメッセージを変更できるように - ヴァリアント製作者向けに 2012/8/20 の elona_omake との差分を添付 2012/8/20 の elona_omake を逆コンして変数名置き換えをした start.hsp に適用すれば、こちらが使用している omake_baby のソースと同じものが出来上がります 詳しくは「baby差分ファイル」フォルダ内の readme を参照してください 2012/9/28 omake_baby - readme の更新履歴を上から新しい順に書き直し - ベースを 2012/8/20 の omake に変更 - 手袋・軽手袋を投げられるように 命中した相手と敵対状態になります カルマは下がりません(殺害によるカルマ低下はあります) - 食べ物も素材変化できるように アイテム名が「~~細工の???」というように表示されるようになります 腐りません 食べれません 料理できません 価値が下がります 料理依頼で納入はできません 再度素材変化しても食べれる状態には戻りません ★ omake_baby 以外の elona の場合: アイテム名は通常のままです 腐りません 食べれます 料理できます アイテムを調べた場合「それは~~で作られている」と表示されます - たまに行商ベイベーと遭遇するように 楽器を購入することができます 購入できる楽器には稀に「演奏報酬の品質を上げる」効果が付きます 購入できる楽器には稀に「深い音色で聴衆を酔わす」効果が付きます 上記の効果が付いた楽器には貴重品フラグが立ち、引き継ぎできません 上記の効果が付いた楽器を素材変化した場合でもエンチャントは引き継がれます - ベイベー団と遭遇した時のテキストを調整 - 収穫の魔法で音楽チケットが降ってくるときの処理を調整 音楽チケットが降ってくる場合、金貨を上書きしないように 2012/8/17 omake_baby - 妹の日とベイベーの日は elona 起動時のメッセージが変わるように - omake_config に lomias_arrow. "1" を設定することでPCが使う矢系魔法のエフェクトがロミアスになるように - トゥーフェイスの称号を持ってる場合に選択肢に「メダルをはじく」が出る場面を追加 ・盗賊団と遭遇したとき ・妹団と遭遇したとき - 依頼達成後、依頼主の居場所をガードが教えてくれるように 居場所を聞く際の名前表示が「配達先の~~」「調達先の~~」「依頼主の~~」になります - ガードに誠意を示すことで依頼主・依頼対象のところへ直接案内してもらえるように - 自宅で雇っている店主に「そこから動かないでほしい」と頼めるように 「適当に動いてほしい」と頼みなおすことで通常の状態に戻すことができます 2012/8/13 omake_baby - 小さなメダルを使用してオモテかウラかの運試しができるように 祝福・呪いによってオモテとウラの出やすさが異なります 使用してもメダルは消費しません - 視界範囲外のキャラにはダメージ表示の処理がされないように 他ダメージ表示関連をちらほら修正 - omake_config に todome_disp. "1" を設定することでとどめのダメージも表示できるように 画面上に表示されるとどめダメージは16個までです - 「称号2」を追加 匠:自宅のランキング1位:生成されるドアの種類がランダムになる (ただしランダムに生成されたドアを omake_baby 以外の elona で開閉すると通常のドアに戻ってしまいます) ゆうしゃ:割った壷の数100個:周囲を調べたときたまに薬草を発見するようになる トゥーフェイス:メダルをはじいた回数50回:幾つかの場面で選択肢に「メダルをはじく」が追加される ・自宅に妹を住まわせるかどうかのとき ・自宅に行商人が来たとき ・自宅に乞食が来たとき ・行商人と会ったとき ・行商妹と会ったとき 2012/8/12 omake_baby - ベースを 2012/8/8 の omake に変更 - 討伐対象を倒しても依頼が終了しない不具合を修正 - 壁を掘ったときに稀に妹が出てくるように 2012/8/8 omake_baby - 小さな宝くじ箱からたまに音楽チケットも出てくるように - omake_config に blind_mode. "1" を設定することで敵を攻撃したときに表示される残り体力表示を消せるように - omake_config に damage_disp. "1" を設定することで簡易的なダメージ表示ができるように 代わりに敵の残り体力表示が消えてblind_mode. "1" を設定したのと同じ状態になります ダメージがゼロの場合は表示されません 対象が死亡した場合に表示が消える関係で、とどめのダメージは表示されません 大量にダメージ表示が出た場合、動作が遅くなるかもしれません 動作が遅い場合damage_opacity_off. "1" を設定して半透明エフェクトを切ることで改善するかもしれません - 妹の日記を投げられるように 命中した相手に生き別れた血の繋がっていない妹が現れます 妹は対象の敵対関係を引き継ぎます - 「称号2」を追加 妹派遣会社:妹の日記を投げて命中した回数123回:日記を投げた時の妹が対象のAIを引き継ぐようになる 2012/7/27 omake_baby - CNPC・自宅警備員はパーティーに誘えないように変更 - 帰還の巻物か魔法を使った場合、稀に転送事故が発生してマリリンの館にたどりつくように マリリンに話しかけると家具をせがまれるので買ってあげることができます。 マリリンの館ではハウスボードを使用できる他、アイテムを365個置くことができます。 マリリンの館はその後帰還の対象になります。 マリリンの館へは帰還でしか移動できません。 階段を降りると妹の館に出ます。 ◆マリリンの館でセーブしてomake_baby以外で再開した場合: 妹の館にいる状態でロードされます。 壁の中に出た場合は壁を掘る・帰還するなどの方法で脱出してください。 ◆マリリンの館に関連して以下のセーブファイルが追加されます cdata_29_100.s2 cdatan_29_100.s2 inv_29_100.s2 map_29_100.s2 mdata_29_100.s2 mdatan_29_100.s2 mef_29_100.s2 ocdata_29_100.s2 sdata_29_100.s2 - 「称号2」を追加 マリリンのパパ:マリリンに貢いだ金額10万gold:マリリンに連続で貢げるようになる 2012/7/25 omake_baby - 祝福された音楽チケットが命中した相手は次のパーティーに参加してくれるように - 呪われた音楽チケットが命中した相手は招かれざる客としてパーティーに参加してくれるように 枠は一人分で2枚目以降を命中させた場合は上書きされます ペット・演奏依頼中・ショウルームでは無効となります 相手が神の場合は代理として下僕が参加してくれます 参加してくれるNPCはアーティファクトを所持しません 豪華パーティーの場合は次回に持ち越しになります - おだいじんができるように バーテンに話しかけて代金を支払うことで街にいる全員が酔っ払います - 帰還の魔法50レベルで自宅の最終階層に帰還できるようにしていたのをやめるように - omakeの称号とは別に「称号2」を追加 Shift + y で一覧を開くことができます 他のキーに設定したい場合はomake_configにkey_baby_titleを設定してください。デフォルトでは「key_baby_title."Y"」になっています 今回追加した称号 帰宅部:帰還した回数100回:自宅の最終階層に帰還できるようになる 爆弾魔:地雷を50個設置:地雷を投げて設置できるようになる 超おだいじん:おだいじん累計金額1000万gold突破:特に効果は無い (回数や個数はomake_babyプレイ時のみ記録されます) - omake_baby用のセーブファイルを3点追加 baby_gdata.s1 baby_pdata.s1 baby_pdatan.s1 2012/6/20 omake_baby - ベースを 2012/6/18 の omake に変更 - 音楽チケットを投げられるように 命中すると「ベイベー!!」と答えてくれます 相手が眠っている場合は起こす事ができます - %txtswarm,JPの指定を間違えて寄生時の台詞にしてたのを修正 - 自分に口調を設定した場合、演奏中などは待機時の台詞を表示しないように - omake_config.txt に card_game_off. "1" を設定することでF3キーを押してもカードゲームが開始されないように - 死体を埋葬できるように 足元を掘る(Shift + d → Enter)事で埋めるアイテムを選択できます 2012/6/17 omake_baby - ベイベーの日における詩人の生成頻度を抑え目に - 稀にベイベー団に襲われるように ランダム選択肢 ・状態異常:麻痺、無理やり演奏を聞かされる ・音楽チケットを9枚くれる ・特になにも無し ・グローバルマップへ戻る ベイベーの日はベイベー団と遭遇する確率が高くなります - 「おうちかえす」の称号を持っている場合、迷子の子猫に帰還の巻物を渡すとおうちへ帰っていくように - 「おうちかえす」の称号を持っている場合、迷子の子猫は呪われた帰還の巻物でも受け取るように - お金を渡した乞食が「何をしても良い」という場合、幾つかの選択肢を選べるように 2012/6/16 omake_baby - elseを続ける場合の構文がなんか変だったのを else if に修正 - omake_config.txt に mine_txt を設定する事で地雷の爆発音を設定できるように 例:mine_txt. " *チョドーン!* " - ミルクや酒を飲んだときの台詞を設定できるように - 酔い状態のときの(猫が酒を飲んだときに歌い出すような)台詞を設定できるように - 収穫の魔法で降ってくる音楽チケットは一番最初に判定されるように 音楽チケットが他のメダルやプラチナを上書きする事はありません 2012/6/15_2 omake_baby (*マークはヴァリアント掲示板のElona不具合修正スレを参照したものです) - 「ベイベー!!」を願うと願いの神から投石されるように - 収穫の魔法で稀に音楽チケットが降ってくるように - 収穫の魔法を素早く唱えられるように - ふかふかパンなど調合時のアイテムがスタックするように - パンクが酒を飲むか浴びるかしたときに稀に「ヒャッハー!酒だー!」と言うように - *幾つかのテキストの修正 - *大事なもの指定されたものは調合や錬金術で選択できないように - *店で買える品で生物ではないものには賞味期限が付与されないように - *滞在中のペットは帰宅時の経験値加算の対象にならないように - 旅歩きはそのキャラスキル値に応じて計算されるように 旅歩きを持っていないペットの場合はゼロが乗算されるので固定値の1だけになります 2012/6/15 omake_baby - 稀に果実の木(ベイベー)が生成されるように 体当たりすると音楽チケットが降ってきます - txtact の処理で gosub を使うように修正 - txtactafter を入れた関係で後続の処理に stat を渡し損ねてたような個所を修正 - アイテムの説明の「有効度」という表記を「友好度」に変更 - 装飾首輪の説明の「上げた人との友好度が上がる首輪~」という個所を変更 - %txtswarm,JP でスウォームを使った時のメッセージを変更できるように - %txtkisei,JP 相手に寄生したときのメッセージを変更できるように - %txtcaststyle,JP で詠唱時の台詞を設定する際、{spell}で使用する魔法の名前を入れられるように - ボール系や回復系など、詠唱者と対象者が同じ魔法は %txtcaststyle2,JP を参照するように - 自分に口調を設定できるように 自分に干渉して「口調を変える」から設定できます 使用するテキストは user/talk フォルダに配置してください テキストの仕様はペットなどのカスタムトークとほぼ同様です 交戦時の台詞(txtAggro)など反映されないものもあります 詳細は添付したPC_talk.txtを参照してください 2012/6/13 omake_baby - 「ベイベー!」を願うと願いの神が「ベイベー!!!」と答えてくれるように - txtact で死の宣告を使った時に台詞が出なかったのを修正 242238行目と242243行目のif文に efid == 646 が抜けていました - やっぱり新しい称号を追加するのはやめておくように 単に帰還の魔法50レベルで自宅の最終階層に帰還できるようにしました - 乗馬していない時でも乗馬時のグラフィックを変更できるように - 情報屋の冒険者の一覧で出るプレイヤーの姿を変更できるように c 押して p 押した先の「情報屋」という項目から変更できます ペットの差し替えと同様に user/graphic フォルダ内の chara_661.bmp ~ chara_692.bmp を使用します - 神の月を設定 その月の神を信仰していると電波キャッチ装備を付けていなくても神の声が聞こえるように 1月:癒しのジュア 2月:地のオパートス 3月:エーテル(効果無し) 4月:収穫のクミロミ 5月:幸運のエヘカトル 6月:エーテル(効果無し) 7月:元素のイツパロトル 8月:無のエイス(効果無し) 9月:エーテル(効果無し) 10月:機械のマニ 11月:風のルルウィ 12月:エーテル(効果無し) 2012/6/10 omake_baby - 「ベイベー」を願うと吟遊詩人が仲間になるように - ダンジョンに重なったときに「がある」とだけ表示されていたのを「ダンジョンがある」と表示されるように - 一部の選択項目を左右キーで指定するとき、最初⇔最後でループするように(omakeの作戦・設定のアニメウェイトなど) - 新しい称号の追加 帰宅部:帰還の魔法50レベル到達で取得 自宅の最終階層に帰還できる 2012/6/6 omake_baby - 7月24日をベイベーの日に設定:吟遊詩人が多く生成されるように - 魔法以外のスキル使用時にも台詞を設定できるように - 狂気の眼差しを使用したときのログも変更できるように(蛆虫が沸き出るのを見た、の部分) - 魔法を使用した時のログも変更できるように(魔法を詠唱した、の部分) --------------------------------------------------------------------------------------- ・スキルを使う前(スキル番号の部分はwikiの解析のスキルリスト参照例:%txtactbefore636,JP) %txtactbeforeスキル番号,JP --------------------------------------------------------------------------------------- ・スキルを使った後(スキル番号の部分はwikiの解析のスキルリスト参照例:%txtactafter636,JP) %txtactafterスキル番号,JP --------------------------------------------------------------------------------------- ・狂気の眼差しを使用したときのログ(蛆虫が沸き出るのを見た、の部分) %txtuzimushi,JP --------------------------------------------------------------------------------------- ・魔法を使用したときのログ(魔法を詠唱した、の部分) (詠唱者{snpc} 対象{npc} 使用する魔法の名前{spell}) %txtcaststyle,JP --------------------------------------------------------------------------------------- ・魔法を使用したときに詠唱者と対象者が同じ場合のメッセージ(ボール系魔法など) (詠唱者{snpc} 使用する魔法の名前{spell}) %txtcaststyle2,JP --------------------------------------------------------------------------------------- ・スウォームを使用したときのメッセージ(「スウォーム!」の部分) %txtswarm,JP --------------------------------------------------------------------------------------- ・相手に寄生したときのメッセージ(何かを送り込んだ、の部分) %txtkisei,JP --------------------------------------------------------------------------------------- ・ミルクを飲んだとき %txtmilk,JP --------------------------------------------------------------------------------------- ・呪われたミルクを飲んだとき %txtmilkcurse,JP --------------------------------------------------------------------------------------- ・酒を飲んだとき %txtsake,JP --------------------------------------------------------------------------------------- ・呪われた酒を飲んだとき %txtsakecurse,JP --------------------------------------------------------------------------------------- ・酔い状態のとき %txtyopparai,JP --------------------------------------------------------------------------------------- ・みだれうちを使用したときのメッセージ(「みだれうち!」の部分) %txtmidare,JP --------------------------------------------------------------------------------------- 例1: %txtactbefore636,JP {snpc}は{npc}に妹の幻影を見せた %txtuzimushi,JP なんと{npc}には生き別れの血の繋がっていない妹がいた! %txtactafter636,JP 「お{兄}ちゃーん」 %txtcaststyle,JP {snpc}は{npc}に向けて{spell}を放った。 %txtcaststyle2,JP {snpc}は{spell}を発動した。 %txtkisei,JP {snpc}は{npc}に寄生した。 %txtswarm,JP スウォーム!!
https://w.atwiki.jp/kakis/pages/1730.html
kefokefa /// / 西南 kefo\kefa \ 13 seren klel 西南 \ 西南 \ [ vetyolom ] \ kefakefoより南より
https://w.atwiki.jp/v-lyrics/pages/456.html
2009-09-13 First Entry 2009-10-19 23 30 46 (Mon) Last update Trasnlated by damesukekun Title SING SMILE Lyric Yeah we are going on singing Your smile, for sure, makes someone happy We can change the world with a bit of small love magic Ah, a boring day comes today, too Are you gonna spend it with sighs again? Hm, it s a fine day, you can meet something joy Yeah keep your spirits in high Nothing changes with blue mind I will share you my best energy! Yeah we are going on singing Your smile, for sure, makes someone happy We can change the world with a bit of small love magic Ah, that lovely girl passes today, too Are you gonna spend tomorrow just thinking of her? Hm, tell your feeling, don t keep it in your heart Yeah take your courage in high There are still many wonders Be more, more hopeful! Yeah we are goning on smiling If you get blue a little, it s another beginning We change the world with a set of one more steps, though Yeah we are goning on hand in hand If you get stumbled at something, someone supports you We are going, going on Yeah we are going on singing Your smile, for sure, makes someone happy We can change the world with a bit of small love magic Comment If you have any advise or opinion for this post please write here.この投稿に対して助言、ご意見などありましたらこちらに書き込んで下さい。 Name Comment すべてのコメントを見る
https://w.atwiki.jp/wayward_jp/pages/27.html
MOD WaywardはModがサポートされていて、公式Wikiでいくつか紹介されています。 (リンクはしていませんので使用する際は公式wikiからどうぞ。公式wikiトップのSub Wikis以下Saved Game StatesページからMods pageへと行けます。) 公式wikiのModの使用法 1.当該ページにて「Download Mod」リンクを右クリックし「名前をつけて保存」で任意の場所に保存する。 またはリンクをクリックしてブラウザ上で内容を表示させてからページを右クリックして「名前をつけて保存」する。 2.Waywardを起動し、オプションメニューの「Modding」から保存したファイルを読み込む。 Modリスト Better Save/Load from File セーブ直後にリロードが必要なエラーが起こらない。 オプションではなくメインメニューにセーブボタンを追加する ロードボタンは追加ファイルのインプットではなくファイル自体を要求する。 場所ごとにきれいなファイルネームを提案する。 Opera12でもデフォルトのファイルネームであれば動作する。 ローカルストレージ全体を保存するのではなく、実際のゲームデータだけを保存する。 以前のSave/Load from File MODのデータも読み込みできる。 対応バージョン:Beta 1.6+ Save/Load from File オプションページに、ローカルファイルにセーブデータを保存/読み込みできるボタンを追加する。 このModで作成されたセーブデータも公式wikiやフォーラムで公開されている。 対応バージョン:Beta 1.4+ Show World Map Cheat ワールドマップと洞窟マップをオプションメニューのボタンで表示できるようにする。 対応バージョン:Beta 1.6+ / Free 1.9.4 +... //公式wikiのものを少しだけ改変、画面左下メニューの「Skills」の次に表示ON/OFFボタンを移動させています //バージョン1.9.4 Free版で動作確認済 - スイッチの人 $("#actionsopen").parent().append( button type="button" id="showMap" Show Map /button ); $("#showMap").css("background-color","rgb(64,64,128)"); $("#actionsopen").parent().on("click","#showMap",function(e){ if($("#map").css("display")=="block")$("#map").hide()}else{$("#map").show()} e.preventDefault() }); Tweakward かなり発展したModで、ゲームプレイの改善し磨きをかけることを試みた。完全に動作させるにはModをロードしてから新しいゲームを始める(自殺する)必要がある。今はまだ自動でロードは出来ないので、始める度にModをロードする必要がある。今後も開発が続けられる予定。 対応バージョン:Beta 1.6+ EzEdit 以下のMODを一度に導入する。 Save/Load from File Show World Map Cheat EzRenderTile EzItemGet Selective Monster Spawner 対応バージョン:Beta 1.5 Monster Party 最大100のモンスターを周囲に出現させる。スポーンするモンスターの種類はタレント値と地形に依存する(通常のスポーンと同じになる)。 対応バージョン:Beta 1.6+ Unmovable Chests Fix 岩の上や洞窟の入口などにある箱(や他の周囲のアイテム)を入手する。このModをロードするとアクセスを復活させるためにそれらのものの下に土ができる。 対応バージョン:全て? 野良Mod テキストファイルにコピペしてmodで読み込む 入れ物 containerに耐久基本値を付ける これによってrepairやreinforceが出来るようになる。 +... items.smallbag.durability = 10; items.backpack.durability = 20; items.leatherquiver.durability = 40; 値はお好みで。 苗木 「枝」から「苗木」が作れるようになる。 +... items.sapling.recipe={requires [["branch", 1, 1]],skill "botany",level "Advanced"}; for(var i = 0; i player.crafted.length; i++)if(player.crafted[i] === "sapling")player.crafted.splice(i,1); 上の苗木modを使わなくなったら再起動のあと実行しましょう。 modを使った事によって出来たちょっとしたゴミを消してくれます。 実行しなくても影響ははい(はず) たいまつ 持続ターン +... items.poletorch_lit.decayable[0] = 1000; items.barktorch_lit.decayable[0] = 4000; items.animalfattorch_lit.decayable[0] = 14000; 値はお好みで。↑は全部4倍した値 鶏 鳥肉が食べたい。羽を毟りたい。そんな貴方に +... 非推奨 for(var i=0;i 0xB;i++)for(var j=0;j 0xB;j++)spawnMonster("chicken", player.x+player.direction.x*6-5+i, player.y+player.direction.y*6-5+j); passTurn(false); 推奨 spawnMonster("chicken", player.x+player.direction.x, player.y+player.direction.y); passTurn(false); ↑の変則版、モンスター呼び出し。 モンスターと戦いたい、そんな君に……。 +... 魚類はちょっと特殊 spawnMonster("rabbit", player.x+player.direction.x, player.y+player.direction.y); passTurn(false); //spawnMonster("rabbit"の"ここに"↓の英文名を書き込むと目の前にモンスターが出現します。 //ただし、目の前に障害物や既にモンスターが存在する場合は出現しません。 //rabbit = うさぎ //slime = スライム //jellycube = ゼリーキューブ //rat = 鼠 //giantrat = 大きな鼠 //chicken = ニワトリ //harpy = ハーピー //giantspider = 大きな蜘蛛 //trapdoorspider = トラップドアスパイダー //snake = 蛇 //bear = 熊 //vampirebat = 吸血コウモリ //greywolf = グレイウルフ //imp = インプ //bogling = ボグリング //livingrock = リビングロック //zombie = ゾンビ //skeleton = スケルトン //pirateghost = パイレーツゴースト //timeskitter = タイムスキッター //fireelemental = ファイヤーエレメンタル //hobgoblin = ホブゴブリン //livingmushroom = リビングマッシュルーム //kraken = クラーケン //↓水が目の前にある場合のみ出現 //blindfish = 盲目魚 //shark = 鮫 //trout = マス 沼設置 peatを設置すると沼が出来るように +... items.peat.use = ["stokeFire", "placeTile"], items.peat.onUse = {stokeFire 4, placeTile "swamp"} 変異種 変異種.txt 黒色火薬 A.製作時、多く作る B.発砲時、耐久にダメージ 大きなミニマップ nキーで大きなミニマップを表示。 敵表示有り。txt編集で非表示に出来るようにしてる。 ver0.0.2 ver 0.0.2 地下の事を忘れていたのでその修正。 クラフティングテーブル追加 茶色い領域にアイテムを並べるとそこからクラフトします 適当にアイテムを選ばれるのが嫌な人に craftingtable_v100.js ご利用は計画的に アイテム発生Mod +... //日本語化の後に読み込むとアイテム名だけ日本語化 //二回読み込むと削除 if(document.getElementById( ItemGetMod ) === null){ $("#optionswindow").append( div id="ItemGetMod" / ); $("#ItemGetMod").append( p ItemGetMod /p select id="ItemGetMod_ItemList" size="5" / ); for(var itemType in items){ $( #ItemGetMod_ItemList ).append( option value=" + itemType + " + ItemGetMod_ItemList.length + " " + items[itemType].name + /option ); } ItemGetMod_ItemList.selectedIndex = 0; $("#ItemGetMod").append( select id = "ItemGetMod_QualityList" size="5" \ option value = "" Durability /option \ option value = "Remarkable" Remarkable /option \ option value = "Exceptional" Exceptional /option \ option value = "Legendary" Legendary /option \ option value = "Random" selected Random /option \ /select ); $("#ItemGetMod").append( button type="button" id="ItemGetMod_ItemGetButton" Get /button ); $("#ItemGetMod").on("click", #ItemGetMod_ItemGetButton , function(e) { itemGet({type ItemGetMod_ItemList.value, quality ItemGetMod_QualityList.value}); craftTable() }); } else { var delTargetElement=document.getElementById( ItemGetMod ); delTargetElement.parentNode.removeChild(delTargetElement); } チェンジタイル タイルのパターンはセーブされないので悪しからず +... //チェンジタイル //タイルのパターンはセーブされないので悪しからず //二回読み込むと削除 if(document.getElementById( ChangeTileMod ) === null){ $("#optionswindow").append( div id="ChangeTileMod" / ); $("#ChangeTileMod").append( p ChangeTileMod /p ); $("#ChangeTileMod").append( select id="ChangeTileMod_TileList" size="5" / ); for(var TileType in tiletypes){ $( #ChangeTileMod_TileList ).append( option value=" + TileType + " + ChangeTileMod_TileList.length + " " + tiletypes[TileType].name + /option ); } ChangeTileMod_TileList.selectedIndex = 0; $("#ChangeTileMod").append( select id="ChangeTileMod_PatternList" size="5" / ); $("#ChangeTileMod_PatternList").append( option value="0" 0 /option ); $("#ChangeTileMod_PatternList").append( option value="1" 1 /option ); $("#ChangeTileMod_PatternList").append( option value="2" 2 /option ); $("#ChangeTileMod_PatternList").append( option value="Random" selected Random /option ); $("#ChangeTileMod").append( button type="button" id="ChangeTileMod_ChangeTileButton" Change /button ); $("#ChangeTileMod").on("click", #ChangeTileMod_ChangeTileButton , function(e) { changeTile({type ChangeTileMod_TileList.value}, player.x + player.direction.x, player.y + player.direction.y, false); if(ChangeTileMod_PatternList.value == "Random"){ tile[player.x + player.direction.x][player.y + player.direction.y].gfx = Math.floor(Math.random() * 3); } else { tile[player.x + player.direction.x][player.y + player.direction.y].gfx = ChangeTileMod_PatternList.value; } passTurn(false); }); } else { var delTargetElement=document.getElementById( ChangeTileMod ); delTargetElement.parentNode.removeChild(delTargetElement); } ・いろいろスイッチ&インベントリエディタ&技術情報 ※ゲームバランス崩壊待ったなし +... //いろいろスイッチ version 0.12c //=== スイッチ類説明 === //◆ボタン群 (押す度に発動) //[Health][Stamina][FOOD][WATER]それぞれライフ・スタミナ・満腹度・水分全快 //[Bad]毒・やけど・切り傷回復 //[HPSTBAD]ライフ・スタミナ・状態異常全快(満腹度・水分は以外) //[All]上記全て全快 //[converge map]インベントリ内の全てのボロボロの地図の目的場所を自分の足元へ(コンテナ・カバン内のものは除外) //[Find Drop]落ちているアイテムを近い順にログに表示 //[Find Placed]設置されているアイテムを近い順にログに表示 //[Find Ore]木の実、鉱物、沼地、灰、雪などの資源を近い順にログに表示 //※地上にいるときは地下のものは表示されません、また地下にいるときは地上のものは表示されません //※検索結果表示数の初期値は10です // mod_recover_saveData.findCount = 20 // と入力すると表示数が20件に変更されます、緑色のsaveボタンを押した時点での値が保存されます //[soundBuff Clear]予約済みのサウンドエフェクトを全て削除します //[invClean]現在持っているアイテムの最大ID以降の未使用領域を消去します //メインで所持するもの以外を全てカバンやチェストに保管することで最大の効果を得ることができます //上記2つとメッセージウィンドウ下部の[Clear Messages]ボタンを押すことで長時間プレイ時の処理の重さを低減します //◆スイッチ群 (押すと有効、もう一度押すと無効) //[AutoRecover]ライフとスタミナが常に全快状態 //[AlwaysDaylight]常に昼、洞窟内も昼 //[Ignore Weight]重さ超過を無視 //[fresh sea]海水を淡水に(水袋・ガラス瓶で海を整地可能)、地下エリアの暗闇部分を砂利に //[Skillgrow]スキル上昇判定時に必ずスキル経験上昇・スキル100%キャップ解除 //[Delay cut]行動待ち時間をスキップ(オプションの「Smooth Movement/動作を滑らかにする」をONにしていると効果無し) //[SpeedCraft]製作待ち時間をスキップ //[Dig100%]必ず掘れる、対象のマスを掘った時に取得できる可能性があるアイテムを全て取得する //[infinityGun]saltpeter(硝石)無しで銃が撃てる、銃弾は別途必要 //[Map100%]瓶入りの手紙を開けると必ず宝の地図が出る //[holeySkin]holey(穴あき)、空の水袋で淡水を汲んでも水が満たされない、海水は汲める //[dropAllExtend]深い淡水・深い海水に向かってアイテムを「全て置く」と、まとめて捨てます(コンテナ・カバン・装備中・QuickSlot内は除外) // 地面に置く場合も、装備中・QuickSlotのアイテムは除外します //[pickupAll]踏んだら全部拾う //[MultiCreate]ボタンはクラフトテーブルの上に生成されます、1クリックで素材が続く限り同じアイテムを作成します、HP減少時に中断します //[taintFree]耐久減少と腐敗を無くす //[autoCarve]死体を踏んで、移動するときに足元にある死体と血痕を全て切り出し(消費ターンは1) //[ugCulture]地下に植物を植えることができます //[RottenMeat]製作から腐った肉を作成できます //[calcWeight]カバン・コンテナ等を開けた時やアイテムを入れた時に、入っているアイテム数、現在の重量、空き重量が表示されます //[waterClean]キャンプファイアに向かっていなくても脱塩水、浄化水を作成できるようになります //[immotalFire]キャンプファイア・かまど・炉・金床・トーチスタンドの火が消えなくなる //v0.11更新 //ボタンの状態を保存する処理を追加しました、saveボタンで現在の状態を保存できます(押さないと保存されません) //modを読み込んだ時に保存された情報があれば自動で適用されます //ウィンドウ幅の保存・読込ができなかったため、スクリプト先頭に幅を指定する変数(mod_recover_width)を付加しています //v0.11b更新 //multiCreateボタンの設定が正常に保存・読み出しされるように修正 //v0.11c更新 //[female]コメントログにあったプレイヤー画像 [(名無しさん) 2014-01-30 06 03 11] 差し替えテスト //v0.11d更新 //[offalNOTmeat]内臓の属性(堆肥・肉)を解除します、ONにすると内臓の使い道がマジカルエッセンスと腱の2つだけになります //v0.11e更新 //[offalNOTmeat]ボタン操作時に製作テーブルも更新 //[DurMax]使用した素材の耐久値に関わらず製作品の耐久値がMAXに、最大耐久値はランダムのまま //v0.11f更新 //[popAberrant]ONの状態でモンスターがポップした場合、必ず変異種になる…はずです //[DurMax]現在耐久値を最大耐久値と同じにするよう修正 //v0.11g更新 //[multiCreate]一括作成の対象から装備品・クイックスロットのアイテムを除外 //v0.12更新 //[Find Drop]/[Find Placed]/[Find Ore]の探索用ボタンを追加 //[SoundBuff Clear]/[InvClean]のメンテナンスボタンを追加 //読み込み時に[MultiCreate]ボタンを必ずoffにするよう変更 //mod_recoverの表示/非表示切り替えボタンの位置をオプションウィンドウ内部からメイン画面左下の[Skills]ボタンの次に変更 //mod_recoverウィンドウの位置を保存するよう変更 //緑色の[save]ボタンを押した際にゲーム全体を保存するよう変更 //既知の不具合 //製作した壁を設置した後に回収すると耐久力がおかしくなって再設置できない //→コメントログにあるとおり下記のコマンドを貼り付けて対処をお願いします、このコードを使用すると耐久力の表示を修正します //for(var itm in player.invItems){if(!isFinite(player.invItems[itm].mindur)){player.invItems[itm].mindur=player.invItems[itm].maxdur}} //ロード直後に十字キーが効かないことがあります //→画面をクリックして一度でもキャラの方向を変えると以降正しく反応します //Findボタンを押したときに方向表示が文字化けする //→v0.12bで修正済 //Find Oreボタンが1件しか表示してくれない //→v0.12cでmod_recover_saveData.findCountを参照するよう修正済 Messages.debug="_0_";var f_ret=false;var buttondebug=false;var mod_recover_saveData=[];initSaveData();function _msg(a,c,b){if(!c){c=""}if(b==""||b===undefined||b===null){b="debug"}ui.message(b,c,[a])}function initSaveData(){mod_recover_saveData.left=0;mod_recover_saveData.top=0;mod_recover_saveData.width=560;mod_recover_saveData.height=140;mod_recover_saveData.recoverAuto=false;mod_recover_saveData.alwaysDaylight=false;mod_recover_saveData.ignoreWeight=false;mod_recover_saveData.freshWater=false;mod_recover_saveData.skillGrow=false;mod_recover_saveData.delaycut=false;mod_recover_saveData.speedCraft=false;mod_recover_saveData.successDig=false;mod_recover_saveData.infinityGun=false;mod_recover_saveData.treasureMap=false;mod_recover_saveData.holeySkin=false;mod_recover_saveData.dropAllEx=false;mod_recover_saveData.pickupAll=false;mod_recover_saveData.taintFree=false;mod_recover_saveData.autoCarve=false;mod_recover_saveData.ugCulture=false;mod_recover_saveData.rottenMeat=false;mod_recover_saveData.calcWeight=false;mod_recover_saveData.waterClean=false;mod_recover_saveData.immotalFire=false;mod_recover_saveData.female=false;mod_recover_saveData.offalNOTmeat=false;mod_recover_saveData.DurMax=false;mod_recover_saveData.Aberrant=false;mod_recover_saveData.findCount=10}function sw(b,a){if(b.indexOf("#")!=0){b="#"+b}if(a==""||a==undefined||a==null){a="black"}if($(b).css("background-color")=="rgb(0, 0, 0)"){a="orange"}$(b).css("background-color",a)}function appendfunc_addNewWindow(a){$("#afterload").prepend( div id=" +a+ _root" / );$("#"+a+"_root").prepend( div id=" +a+ _window" class="window" title= +a+ " / );$("#"+a+"_window").dialog({width 500,height 140,autoOpen true,closeOnEscape false,title a});$("#mod_root").append( button id=" +a+ _visible" +a+" /button ");$("#mod_root").on("click","#"+a+"_vibible",function(b){if($("#"+a+"_window").dialog("isOpen")){$("#"+a+"_window").dialog("close")}else{$("#"+a+"_window").dialog("open")}})}if(document.getElementById("mod_root")===null){$("#optionswindow").append( div id="mod_root" / );$("#optionswindow").append( div id="mod_disp" / )}if(document.getElementById("mod_recover_root")==null){$("#actionsopen").parent().append( button id="mod_recover_visible" mod_recover /button );$("#mod_recover_visible").css("background-color","rgba(150,150,0,0.6)");$("#afterload").prepend( div id="mod_recover_root" / );$("#mod_recover_root").prepend( div id="mod_recover_window" class="window" title="mod_recover" / );$("#mod_recover_window").dialog({width mod_recover_saveData.width,height 140,autoOpen true,closeOnEscape false,title "mod_recover"});$("#mod_recover_window").append( div id="mod_recover_window_top" / );$("#mod_recover_window_top").append( div id="recover" / );$("#recover").append( button type="button" id="recover_Health" Health /button button type="button" id="recover_Stamina" Stamina /button button type="button" id="recover_Hunger" Food /button button type="button" id="recover_Thirst" WATER /buttion button type="button" id="recover_BadStatus" Bad /button button type="button" id="recover_HealthStaminaBadStatus" HPSTBAD /button button type="button" id="recover_All" All /button );$("#recover").append( | button id="mod_convergeMap" collectMap /button );$("#recover").append( | button id="mod_recover_save" save /button );$("#recover").on("click","#mod_recover_save",function(a){mod_recover_save();_msg("mod_recover button status saved.");saveGame()});$("#mod_recover_save").css("background-color","green");$("#recover").append( | button id="mod_searchDrop" Find Drop /button );$("#recover").on("click","#mod_searchDrop",function(a){appendfunc_searchDropItem()});$("#recover").append( button id="mod_searchPlaced" Find Placed /button );$("#recover").on("click","#mod_searchPlaced",function(a){appendfunc_searchPlacedItem()});$("#recover").append( button id="mod_findOre" Find Ore /button );var oreSonar=[];isInitoreSonar=false;$("#recover").on("click","#mod_findOre",function(a){if(!isInitoreSonar){appendfunc_oreSonarInit();isInitoreSonar=true}appendfunc_oreSonarVerify()});$("#recover").append( | button id="mod_SoundFlush" SoundBuff Clear /button );$("#recover").on("click","#mod_SoundFlush",function(a){ui.message("debug","",[audio.soundList.length+" Soundbuffer flushed"]);audio.soundList=[]});$("#recover").append( | button id="mod_invClean" InvClean /button hr );$("#recover").on("click","#mod_invClean",function(c){var a=0;for(var b=player.invItems.length-1;b =0;b--){if(!player.invItems[b]){player.invItems.splice(b,1);a++}else{break}}ui.message("debug","",["invIndex="+player.invItems.length+"(-"+a+" buffer)"])});function appendfunc_convergeMap(){f_ret=false;var a=0;for(itemType in player.invItems){if(player.invItems[itemType].type=="tatteredmap"){a++;player.invItems[itemType].props[0]=player.x;player.invItems[itemType].props[1]=player.y}}if(a =1){ui.message("debug","",[a+" tatteled maps in your inventry pointing on your foot!"]);f_ret=true}else{ui.message("debug","",["You have no tattered map."]);f_ret=false}delete a;return f_ret}$("#recover").on("click","#mod_convergeMap",function(a){appendfunc_convergeMap()});$("#recover_Health").css("background-color","orange");$("#recover_Stamina").css("background-color","#00EA0B");$("#recover_Hunger").css("background-color","purple");$("#recover_Thirst").css("background-color","#0033FF");$("#mod_recover_button").on("click","#recover_Visible",function(a){if($("#recover").css("display")=="none"){$("#recover").css("display","block")}else{$("#recover").css("display","none")}});function appendfunc_recover(a,b){f_ret=false;switch(a){case"health" if(player.strength==player.health){if(!b){_msg("recover Health needless.","bad");return false}}else{if(!b){_msg(player.strength-player.health,"","gainedHealth")}player.health=player.strength;f_ret=true}break;case"stamina" if(player.stamina==player.dexterity){if(!b){_msg("recover Stamina needless.","bad");return false}}else{if(!b){_msg(player.dexterity-player.stamina,"","gainedStamina")}player.stamina=player.dexterity;f_ret=true}break;case"hunger" if(player.hunger==player.starvation){if(!b){_msg("recover Food needless.","bad");f_ret=false}}else{if(!b){_msg(player.starvation-player.hunger,"","gainedHunger")}player.hunger=player.starvation;f_ret=true}break;case"thirst" if(player.thirst==player.dehydration){if(!b){_msg("recover Thirst needless.","bad");f_ret=false}}else{if(!b){_msg(player.dehydration-player.thirst,"","gainedThirst")}player.thirst=player.dehydration;f_ret=true}break;case"bad" if(player.status.bleeding){if(!b){_msg("","","curedBleeding")}player.status.bleeding=false;f_ret=true}if(player.status.burning){if(!b){_msg("","","curedBurning")}player.status.burning=false;f_ret=true}if(player.status.poisoned){if(!b){_msg("","","curedPoison")}player.status.poisoned=false;f_ret=true}if(!b !f_ret){_msg("recover Bad needless.","bad")}break}return f_ret}$("#recover").on("click","#recover_Health",function(a){appendfunc_recover("health");passTurn(false)});$("#recover").on("click","#recover_Stamina",function(a){appendfunc_recover("stamina");passTurn(false)});$("#recover").on("click","#recover_Hunger",function(a){appendfunc_recover("hunger");passTurn(false)});$("#recover").on("click","#recover_Thirst",function(a){appendfunc_recover("thirst");passTurn(false)});$("#recover").on("click","#recover_BadStatus",function(a){appendfunc_recover("bad");passTurn(false)});$("#recover").on("click","#recover_HealthStaminaBadStatus",function(b){var a=false;a=appendfunc_recover("health",true)||a;a=appendfunc_recover("stamina",true)||a;a=appendfunc_recover("bad",true)||a;if(a){_msg("Health Stamina Bad Status recovered.")}else{_msg("recover HPSTBAD needless.","bad")}delete a;passTurn(false)});$("#recover").on("click","#recover_All",function(b){var a=false;a=appendfunc_recover("health",true)||a;a=appendfunc_recover("stamina",true)||a;a=appendfunc_recover("hunger",true)||a;a=appendfunc_recover("thirst",true)||a;a=appendfunc_recover("bad",true)||a;if(a){_msg("You are completely recovered.")}else{_msg("recover All needless.","bad")}delete a;passTurn(false)});function chk_recoverAuto(){if(passTurn.toString().indexOf("dexterity")==-1){return false}else{return true}}function appendfunc_recoverAuto(){f_ret=false;var prev1="game.staminaTimer++;";var new_1="game.staminaTimer++;player.health=player.strength;player.stamina=player.dexterity;";if(!chk_recoverAuto()){passTurn=eval("("+passTurn.toString().replace(prev1,new_1)+")");sw("#recover_auto","orange");f_ret=true}else{passTurn=eval("("+passTurn.toString().replace(new_1,prev1)+")");sw("#recover_auto");f_ret=false}delete prev1;delete new_1;return f_ret}$("#recover").append( button type="button" id="recover_auto" AutoRecover /button );if(passTurn.toString().indexOf("dexterity")!=-1){sw("#recover_auto","orange")}$("#recover").on("click","#recover_auto",function(a){appendfunc_recoverAuto()});function chk_alwaysDaylight(){if(lighting.toString().indexOf("player.light = 0;")==-1){return false}else{return true}}function appendfunc_alwaysDaylight(){f_ret=false;var prev1="var lightLevel = player.light;";var new_1="player.light = 0;var lightLevel = player.light;";var prev2="player.x game.mapSize";var new_2="player.x game.mapSize * 3";if(!chk_alwaysDaylight()){lighting=eval("("+lighting.toString().replace(prev1,new_1).replace(prev2,new_2)+")");sw("#mod_AlwaysDaylight","orange");f_ret=true}else{lighting=eval("("+lighting.toString().replace(new_1,prev1).replace(new_2,prev2)+")");sw("#mod_AlwaysDaylight","black");f_ret=false}delete prev1;delete new_1;delete prev2;delete new_2;return f_ret}$("#recover").append( button id="mod_AlwaysDaylight" Always Daylight /button );if(lighting.toString().indexOf("player.light = 0;")!=-1){sw("#mod_AlwaysDaylight","orange")}$("#recover").on("click","#mod_AlwaysDaylight",function(a){appendfunc_alwaysDaylight()});function chk_ignoreWeight(){if(player.checkWeight.toString().indexOf("0===1")==-1){return false}else{return true}}function appendfunc_ignoreWeight(){f_ret=false;var prev1="player.weight player.strength + 15";var new_1="0===1";var prev2="Utilities.roundNumber(contWeight + items[player.invItems[itemId].type].weight, 1) maxWeight";var new_2="0===1";if(!chk_ignoreWeight()){player.checkWeight=eval("("+player.checkWeight.toString().replace(prev1,new_1)+")");dropItem=eval("("+dropItem.toString().replace(prev2,new_2)+")");sw("#mod_ignoreWeight","orange");f_ret=true}else{player.checkWeight=eval("("+player.checkWeight.toString().replace(new_1,prev1)+")");dropItem=eval("("+dropItem.toString().replace(new_2,prev2)+")");sw("#mod_ignoreWeight","black");f_ret=false}delete prev1;delete new_1;delete prev2;delete new_2;return f_ret}$("#recover").append( button id="mod_ignoreWeight" Ignore Weight /button );if(player.checkWeight.toString().indexOf("0===1")!=-1){sw("#mod_ignoreWeight","orange")}$("#recover").on("click","#mod_ignoreWeight",function(a){appendfunc_ignoreWeight()});function chk_freshWater(){if(tile.edited==undefined){return false}else{return true}}function appendfunc_freshWater(){f_ret=false;if(!chk_freshWater()){tile.edited=true}else{delete tile.edited}for(var b=0;b 1024;b++){for(var a=0;a 512;a++){if(tile.edited){if(tile[b][a].type=="water"){tile[b][a].type="freshwater";tile[b][a].q="water"}if(tile[b][a].type=="shallowwater"){tile[b][a].type="freshshallowwater";tile[b][a].q="shallowwater"}if(tile[b][a].type=="deepwater"){tile[b][a].type="freshdeepwater";tile[b][a].q="deepwater"}if(tile[b][a].type=="darkness"){tile[b][a].type="sand";tile[b][a].q="darkness"}}else{if(tile[b][a].q){if(tile[b][a].type=="freshwater" tile[b][a].q=="water"){tile[b][a].type=tile[b][a].q}if(tile[b][a].type=="freshshallowwater" tile[b][a].q=="shallowwater"){tile[b][a].type=tile[b][a].q}if(tile[b][a].type=="freshdeepwater" tile[b][a].q=="deepwater"){tile[b][a].type=tile[b][a].q}if(tile[b][a].type=="sand" tile[b][a].q=="darkness"){tile[b][a].type=tile[b][a].q}delete tile[b][a].q}}}}if(tile[0][0].q){sw("#mod_freshWater","orange");f_ret=true}else{sw("#mod_freshWater","black");f_ret=false}delete b;delete a;return f_ret}$("#recover").append( button id="mod_freshWater" fresh sea /button );if(tile.edited){sw("#mod_freshWater","orange")}$("#recover").on("click","#mod_freshWater",function(a){appendfunc_freshWater()});function chk_skillGrow(){if(player.skillGain.toString().indexOf("0===0")==-1){return false}else{return true}}function appendfunc_skillGrow(){f_ret=false;var prev1="this.skills[skillType].percent = skillChance this.skills[skillType].percent 100 || bypass";var new_1="0===0";var prev2="this.skills[skillType].core 100";var new_2="this.skills[skillType].core == 100";if(!chk_skillGrow()){player.skillGain=eval("("+player.skillGain.toString().replace(prev1,new_1).replace(prev2,new_2)+")");sw("#mod_skillGrow","orange");f_ret=true}else{player.skillGain=eval("("+player.skillGain.toString().replace(new_1,prev1).replace(new_2,prev2)+")");sw("#mod_skillGrow","black");f_ret=false}delete prev1;delete new_1;delete prev2;delete new_2;return f_ret}$("#recover").append( button id="mod_skillGrow" Skillgrow /button );if(player.skillGain.toString().indexOf("0===0")!=-1){$("#mod_skillGrow").css("background-color","orange")}$("#recover").on("click","#mod_skillGrow",function(a){appendfunc_skillGrow()});function chk_delaycut(){if(render.toString().indexOf("ui.keyTimer=0")==-1){return false}else{return true}}function appendfunc_delaycut(){f_ret=false;prev1="ui.keyTimer++";new_1="ui.keyTimer=0;game.delay=0;";if(!chk_delaycut()){render=eval("("+render.toString().replace(prev1,new_1)+")");sw("#mod_delaycut","orange");f_ret=true}else{render=eval("("+render.toString().replace(new_1,prev1)+")");sw("#mod_delaycut","black");f_ret=false}delete prev1;delete new_1;return f_ret}$("#recover").append( button id="mod_delaycut" Delay cut /button );if(render.toString().indexOf("ui.keyTimer++")==-1){sw("#mod_delaycut","orange")}$("#recover").on("click","#mod_delaycut",function(a){appendfunc_delaycut()});function chk_speedCraft(){if($._data($("#craft").get(0)).events.mouseup[0].handler.toString().indexOf("0 === 0")==-1){return false}else{return true}}function appendfunc_speedCraft(){f_ret=false;var ue2=$._data($("#craft").get(0)).events.mouseup[0].handler.toString();if(ue2.indexOf("0 === 0")==-1){ue2=ue2.replace("ui.keyTimer = 20","0 === 0");sw("#mod_speedCraft","orange");f_ret=true}else{ue2=ue2.replace("0 === 0","ui.keyTimer = 20");sw("#mod_speedCraft","black");f_ret=false}$("#craft").off("mouseup",".craft").on("mouseup",".craft",eval("("+ue2+")"));delete ue2;return f_ret}$("#recover").append( button id="mod_speedCraft" SpeedCraft /button );if($._data($("#craft").get(0)).events.mouseup[0].handler.toString().indexOf("0 === 0")!=-1){sw("#mod_speedCraft","orange")}$("#recover").on("click","#mod_speedCraft",function(a){appendfunc_speedCraft()});function chk_successDig(){if(player.actions.dig.toString().indexOf("itemChance = 0;")==-1){return false}else{return true}}function appendfunc_successDig(){f_ret=false;var prev1="var getItem = false;";var new_1="var getItem = false;itemChance = 0;";var prev2="var item = {";var new_2="for(var i=0;i =resource[tileType].length-1;i++){var item = {";var prev3="newTileType = cave;";var new_3="newTileType = cave;}";var prev4="type resource[tileType][resourceType][0]";var new_4="type resource[tileType][i][0]";var prev5="regathered) {";var new_5="regathered=== a ){";if(!chk_successDig()){player.actions.dig=eval("("+player.actions.dig.toString().replace(prev1,new_1).replace(prev2,new_2).replace(prev3,new_3).replace(prev4,new_4).replace(prev5,new_5)+")");sw("#mod_successDig","orange");f_ret=true}else{player.actions.dig=eval("("+player.actions.dig.toString().replace(new_1,prev1).replace(new_2,prev2).replace(new_3,prev3).replace(new_4,prev4).replace(new_5,prev5)+")");sw("#mod_successDig","black");f_ret=false}delete prev1;delete new_1;delete prev2;delete new_2;delete prev3;delete new_3;delete prev4;delete new_4;delete prev5;delete new_5;return f_ret}$("#recover").append( button id="mod_successDig" Dig100% /button );if(player.actions.dig.toString().indexOf("itemChance = 0;")!=-1){sw("#mod_successDig","orange")}$("#recover").on("click","#mod_successDig",function(a){appendfunc_successDig()});function chk_infinityGun(){if(player.actions.fire.toString().indexOf("infinity bullet")==-1){return false}else{return true}}function appendfunc_infinityGun(){f_ret=false;var prev1="removeItem(blackpowder.itemId, INV , blackpowder.containerId);";var new_1="console.log( infinity bullet );";var prev2="!blackpowder";var new_2="0===1";if(!chk_infinityGun()){player.actions.fire=eval("("+player.actions.fire.toString().replace(prev1,new_1).replace(prev2,new_2)+")");sw("#mod_infinityGun","orange");f_ret=true}else{player.actions.fire=eval("("+player.actions.fire.toString().replace(new_1,prev1).replace(new_2,prev2)+")");sw("#mod_infinityGun","black");f_ret=false}delete prev1;delete new_1;delete prev2;delete new_2;return f_ret}$("#recover").append(" button id=mod_infinityGun infinityGun /button ");if(player.actions.fire.toString().indexOf("infinity bullet")!=-1){sw("#mod_infinityGun","orange")}$("#recover").on("click","#mod_infinityGun",function(a){appendfunc_infinityGun()});function chk_treasureMap(){if(player.actions.openBottle.toString().indexOf("Math.random() * 1 + 1")==-1){return false}else{return true}}function appendfunc_treasureMap(){f_ret=false;var prev1="Math.random() * 4";var new_1="Math.random() * 1 + 1";if(!chk_treasureMap()){player.actions.openBottle=eval("("+player.actions.openBottle.toString().replace(prev1,new_1)+")");sw("#mod_treasureMap","orange");f_ret=true}else{player.actions.openBottle=eval("("+player.actions.openBottle.toString().replace(new_1,prev1)+")");sw("#mod_treasureMap","black");f_ret=false}delete prev1;delete new_1;return f_ret}$("#recover").append(" button id=mod_treasureMap Map100% /button ");if(player.actions.openBottle.toString().indexOf("Math.random() * 1 + 1")!=-1){sw("#mod_treasureMap","orange")}$("#recover").on("click","#mod_treasureMap",function(a){appendfunc_treasureMap()});function chk_holeySkin(){if(player.actions.fillWater.toString().indexOf("e = unpurifiedfreshwaterwaterskin ")!=-1){return false}else{return true}}function appendfunc_holeySkin(){f_ret=false;var prev1="e = unpurifiedfreshwaterwaterskin ";var new_1="e = waterskin ";if(!chk_holeySkin()){player.actions.fillWater=eval("("+player.actions.fillWater.toString().replace(prev1,new_1)+")");sw("#mod_holeySkin","orange");f_ret=true}else{player.actions.fillWater=eval("("+player.actions.fillWater.toString().replace(new_1,prev1)+")");sw("#mod_holeySkin","black");f_ret=false}delete prev1;delete new_1;return f_ret}$("#recover").append(" button id=mod_holeySkin holeySkin /button ");if(chk_holeySkin()){sw("#mod_holeySkin","orange")}$("#recover").on("click","#mod_holeySkin",function(a){appendfunc_holeySkin()});function chk_dropAllEx(){if(dropItem.toString().indexOf("if(dropAll)")==-1){return false}else{return true}}function appendfunc_dropAllEx(){f_ret=false;var prev1="ui.message( waterDrop , normal , [items[itemType].name]);";var new_1=prev1+"if(dropAll){for(var playerItem=0;playerItem player.invItems.length;playerItem++){if(player.invItems[playerItem]!==undefined player.invItems[playerItem]!==null){if(player.invItems[playerItem].type===itemType !player.invItems[playerItem].quickSlotted !player.invItems[playerItem].equipped){removeItem(playerItem, INV ,false)}}}audio.queueSfx( water );passTurn(true);return}";var prev2="player.invItems[playerItem].type === itemType";var new_2=prev2+" !player.invItems[playerItem].equipped !player.invItems[playerItem].quickSlotted";if(!chk_dropAllEx()){dropItem=eval("("+dropItem.toString().replace(prev1,new_1).replace(prev2,new_2)+")");sw("#mod_dropAllEx","orange");f_ret=true}else{dropItem=eval("("+dropItem.toString().replace(new_1,prev1).replace(new_2,prev2)+")");sw("#mod_dropAllEx","black");f_ret=false}delete prev1;delete new_1;delete prev2;delete new_2;return f_ret}$("#recover").append(" button id=mod_dropAllEx dropAllExtend /button ");if(chk_dropAllEx()){sw("#mod_dropAllEx","orange")}$("#recover").on("click","#mod_dropAllEx",function(a){appendfunc_dropAllEx()});function chk_pickupAll(){if(checkUnderPlayer.toString().indexOf("while")==-1){return false}else{return true}}function appendfunc_pickupAll(){f_ret=false;var prev1="var keys = Object.keys(tile[playerX][playerY].tileitems);";var new_1=prev1+"while(keys.length =1){";var prev2= ui.hintDisplay("fastpickup"); ;var new_2=prev2+"}keys.pop();";if(!chk_pickupAll()){checkUnderPlayer=eval("("+checkUnderPlayer.toString().replace(prev1,new_1).replace(prev2,new_2)+")");$("#mod_pickupAll").css("background-color","orange");f_ret=true}else{checkUnderPlayer=eval("("+checkUnderPlayer.toString().replace(new_1,prev1).replace(new_2,prev2)+")");$("#mod_pickupAll").css("background-color","black");f_ret=false}delete prev1;delete new_1;delete prev2;delete new_2;return f_ret}$("#recover").append( button type="button" id="mod_pickupAll" pickupAll /button );if(chk_pickupAll()){sw("#mod_pickupAll","orange")}$("#recover").on("click","#mod_pickupAll",function(a){appendfunc_pickupAll()});function chk_multiCreate(){if(craftItem.toString().indexOf("tmpHealth")==-1){return false}else{return true}}function appendfunc_multiCreate(){f_ret=false;var turnUpdate=false;var prev1="var consumes = [];";var new_1= do{var turnUpdate=false;craftMsg=""; +prev1;var tmpHealth=player.health;"+prev1";var prev2="return !failed;\r\n }";var new_2="}}while(craftMsg!= tmpHealth = player.health);passTurn(true);return !failed;";var prev3="passTurn(true)";var new_3="passTurn(false)";var prev4="ui.$equip.find( li )";var new_4="/*"+prev4;var prev5="// get";var new_5="*/"+prev5;if(!chk_multiCreate()){craftItem=eval("("+craftItem.toString().replace(prev1,new_1).replace(prev2,new_2).replace(prev3,new_3).replace(prev4,new_4).replace(prev5,new_5)+")");sw("#mod_multiCreate","orange");f_ret=true}else{craftItem=eval("("+craftItem.toString().replace(new_1,prev1).replace(new_2,prev2).replace(new_3,prev3).replace(new_4,prev4).replace(new_5,prev5)+")");sw("#mod_multiCreate","black");f_ret=false}delete prev1;delete new_1;delete prev2;delete new_2;delete prev3;delete new_3;delete prev4;delete new_4;delete prev5;delete new_5;delete tmpHealth;return f_ret}$( div id="mod_multiCreate_frame" button type="button" id="mod_multiCreate" MultiCreate /button /div ).insertBefore($("#craftwindow"));if(chk_multiCreate()){sw("#mod_multiCreate","orange")}$("#mod_multiCreate_frame").on("click","#mod_multiCreate",function(a){appendfunc_multiCreate()});function decreaseDur(b,a){return b}function decreaseDecay(b,a){return b}function chk_taintFree(){if(player.actions.attack.toString().indexOf("ammo.mindur--")!=-1){return false}else{return true}}function appendfunc_taintFree(){f_ret=false;var prev1="ammo.mindur--;";var new_1="decreaseDur(ammo, player.actions.attack-1 );";var prev2="weapon.mindur--;";var new_2="decreaseDur(weapon, player.actions.attack-2 );";var prev3="item.mindur = tileItem.mindur - 1;";var new_3="decreaseDur(tileItem, player.actions.dig );item.mindur = tileItem.mindur;";var prev4="tileItem.mindur - 1;";var new_4="decreaseDur(tileItem, player.actions.gather );";var prev5="itemGet({";var new_5="decreaseDur(envItems[id], gatherEnvItems );itemGet({";var prev6="envItems[id].mindur - 1,";var new_6="envItems[id].mindur,";var prev7="item.mindur -= 1;";var new_7="decreaseDur(item, damageItem );";var prev8="item.mindur = tileItem.mindur - 1;";var new_8="decreaseDur(tileItem, actionsmenu.pickup-door );item.mindur = tileItem.mindur;";var prev9="envItems[envId].decay--;";var new_9="decreaseDecay(envItems[envId], environmentalDecay );";var prevA="envItems[envId].decay--;";var new_A="decreaseDecay(envItems[envId], environmentalDecay );";var prevB="decayContainer[containerItem].decay--;";var new_B="decreaseDecay(decayContainer[containerItem], decayItemsInContainer )";var prevC="player.invItems[invItem].decay--;";var new_C="decreaseDecay(player.invItems[invItem], passTurn-1 )";var prevD="tileItems[tileItemsKey[i2]].decay--;";var new_D="decreaseDecay(tileItems[tileItemsKey[i2]], passTurn-2 );";if(!chk_taintFree()){player.actions.attack=eval("("+player.actions.attack.toString().replace(prev1,new_1).replace(prev2,new_2)+")");player.actions.dig=eval("("+player.actions.dig.toString().replace(prev3,new_3)+")");player.actions.gather=eval("("+player.actions.gather.toString().replace(prev4,new_4)+")");gatherEnvItems=eval("("+gatherEnvItems.toString().replace(prev5,new_5).replace(prev6,new_6)+")");damageItem=eval("("+damageItem.toString().replace(prev7,new_7)+")");var pickupdoorfunc=$._data(ui.$actionsMenu.get(0),"events")["mouseup"][5].handler.toString().replace(prev8,new_8);ui.$actionsMenu.off("mouseup",".pickup-door").on("mouseup",".pickup-door",eval("("+pickupdoorfunc+")"));decayItemsInContainer=eval("("+decayItemsInContainer.toString().replace(prevB,new_B)+")");passTurn=eval("("+passTurn.toString().replace(prevC,new_C).replace(prevD,new_D)+")");$("#mod_taintFree").css("background-color","orange");f_ret=true}else{player.actions.attack=eval("("+player.actions.attack.toString().replace(new_1,prev1).replace(new_2,prev2)+")");player.actions.dig=eval("("+player.actions.dig.toString().replace(new_3,prev3)+")");player.actions.gather=eval("("+player.actions.gather.toString().replace(new_4,prev4)+")");gatherEnvItems=eval("("+gatherEnvItems.toString().replace(new_5,prev5).replace(new_6,prev6)+")");damageItem=eval("("+damageItem.toString().replace(new_7,prev7)+")");var pickupdoorfunc=$._data(ui.$actionsMenu.get(0),"events")["mouseup"][5].handler.toString().replace(new_8,prev8);ui.$actionsMenu.off("mouseup",".pickup-door").on("mouseup",".pickup-door",eval("("+pickupdoorfunc+")"));decayItemsInContainer=eval("("+decayItemsInContainer.toString().replace(new_B,prevB)+")");passTurn=eval("("+passTurn.toString().replace(new_C,prevC).replace(new_D,prevD)+")");sw("#mod_taintFree","black");f_ret=false}delete prev1;delete new_1;delete prev2;delete new_2;delete prev3;delete new_3;delete prev4;delete new_4;delete prev5;delete new_5;delete prev6;delete new_6;delete prev7;delete new_7;delete prev8;delete new_8;delete prev9;delete new_9;delete prevA;delete new_A;delete prevB;delete new_B;delete prevC;delete new_C;delete prevD;delete new_D;delete pickupdoorfunc;return f_ret}$("#recover").append( button type="button" id="mod_taintFree" taintFree /button );if(player.actions.attack.toString().indexOf("ammo.mindur--")==-1){sw("#mod_taintFree","orange")}$("#recover").on("click","#mod_taintFree",function(a){appendfunc_taintFree()});function gatherEnvItemsEx(itemId){(eval("("+gatherEnvItems.toString().replace("passTurn(true)","passTurn(false)")+")"))(itemId)}function chk_autoCarve(){if(checkUnderPlayer.toString().indexOf("gatherUnderPlayer()")==-1){return false}else{return true}}function appendfunc_autoCarve(){f_ret=false;prev1="return true;";new_1="gatherUnderPlayer();return true;";if(!chk_autoCarve()){checkUnderPlayer=eval("("+checkUnderPlayer.toString().replace(prev1,new_1)+")");sw("#mod_autoCarve","orange");f_ret=true}else{checkUnderPlayer=eval("("+checkUnderPlayer.toString().replace(new_1,prev1)+")");sw("#mod_autoCarve","black");f_ret=false}delete prev1;delete new_1;return f_ret}function gatherUnderPlayer(){f_ret=false;if(tile[player.x][player.y].envItemList){for(itemLocation=tile[player.x][player.y].envItemList.length-1;itemLocation =0;itemLocation--){var b=false;var a=tile[player.x][player.y].envItemList[itemLocation];if(!game.isValidPickUp(a)){}else{if(environmentals[envItems[a].type].carve){if(environmentals[envItems[a].type].blood){createParticles(environmentals[envItems[a].type].blood[0],environmentals[envItems[a].type].blood[1],environmentals[envItems[a].type].blood[2])}else{createParticles(210,5,5);b=true}}if(b){placeEnvItem({type "blood",x envItems[a].x,y envItems[a].y,quality ""});ui.message("removeBlood","normal");gatherEnvItemsEx(tile[player.x][player.y].envItemList[tile[player.x][player.y].envItemList.length-1])}console.log(envItems[a].type);if(envItems[a].type.indexOf("_corpse")!=-1||envItems[a].type.indexOf("blood")!=-1){ui.message("carveCorpse","normal");if(envItems[a].type==="pirateghost_corpse"){addMilestone("reaperofsouls")}gatherEnvItemsEx(a)}}}}return}$("#recover").append( button type="button" id="mod_autoCarve" autoCarve /button );if(checkUnderPlayer.toString().indexOf("gatherUnderPlayer()")!=-1){sw("#mod_autoCarve","orange")}$("#recover").on("click","#mod_autoCarve",function(a){appendfunc_autoCarve()});function chk_ugCulture(){if(environmentals.thistle.cavegrow==true){return true}else{return false}}function appendfunc_ugCulture(){f_ret=false;var a=false;var b=["grassseeds_ground","sapling_ground","yellowflowers","tallgrass","thistle","wildonion_ground","cotton_ground"];if(!chk_ugCulture()){a=true}for(var c in environmentals){if($.inArray(c,b) =0){environmentals[c].cavegrow=a;if(environmentals[c].cavegrow==false){delete environmentals[c].cavegrow}}}if(a){sw("#mod_ugCulture","orange")}else{sw("#mod_ugCulture","black")}f_ret=a;delete b;delete c;delete a;return f_ret}$("#recover").append( button type="button" id="mod_ugCulture" ugCulture /button );if(environmentals.thistle.cavegrow){sw("#mod_ugCulture","orange")}$("#recover").on("click","#mod_ugCulture",function(a){appendfunc_ugCulture()});function chk_rottenMeat(){if(items.rottenmeat.recipe){return true}else{return false}}function appendfunc_rottenMeat(){if(!chk_rottenMeat()){items.rottenmeat.recipe={requires [["meat",1,1]],level "expert",skill "cooking"};sw("#mod_rottenMeat","orange");craftTable();f_ret=true}else{for(var a=0;a player.crafted.length;a++){if(player.crafted[a]==="rottenmeat"){player.crafted.splice(a,1)}}delete items.rottenmeat.recipe;sw("#mod_rottenMeat","black");craftTable();f_ret=false}return f_ret}$("#recover").append( button type="button" id="mod_rottenMeat" RottenMeat /button );if(items.rottenmeat.recipe){sw("#mod_rottenMeat","orange")}$("#recover").on("click","#mod_rottenMeat",function(a){appendfunc_rottenMeat()});function getWeightStr(f,d){f_ret="";var c=0;var a=0;var b=0;if(d=="INV"){for(var e in player.invItems[f].container){if(player.invItems[f].container[e]===null){}else{c++;b+=items[player.invItems[f].container[e].type].weight}}a=items[player.invItems[f].type].maxWeight-b.toFixed(1)}else{for(var e in envItems[f].container){if(envItems[f].container[e]===null){}else{c++;b+=items[envItems[f].container[e].type].weight}}a=environmentals[envItems[f].type].maxWeight-b.toFixed(1)}a=a.toFixed(1);if(a 0){a="Maximum weight"}f_ret=" ("+c+" items, weight "+b.toFixed(1)+"["+a+" free])";delete c;delete a;delete b;return f_ret}function chk_calcWeight(){if(player.actions.openContainer.toString().indexOf("getWeightStr")==-1){return false}else{return true}}function appendfunc_calcWeight(){f_ret=false;var prev1="ui.message(\"youOpenThe\", normal , [containerName]);";var new_1="ui.message(\"youOpenThe\", normal , [containerName+getWeightStr(id,type)]);";if(!chk_calcWeight()){player.actions.openContainer=eval("("+player.actions.openContainer.toString().replace(prev1,new_1)+")");sw("#mod_calcWeight","orange");f_ret=true}else{player.actions.openContainer=eval("("+player.actions.openContainer.toString().replace(new_1,prev1)+")");sw("#mod_calcWeight","black");f_ret=false}delete prev1;delete new_1;return f_ret}$("#recover").append( button type="button" id="mod_calcWeight" calcWeight /button );if(player.actions.openContainer.toString().indexOf("getWeightStr")!=-1){sw("#mod_calcWeight","orange")}$("#recover").on("click","#mod_calcWeight",function(a){appendfunc_calcWeight()});function chk_waterClean(){if(items.purifiedfreshwaterwaterskin.recipe.requiredenv!=undefined){return false}else{return true}}function appendfunc_waterClean(){if(!chk_waterClean()){delete items.purifiedfreshwaterwaterskin.recipe.requiredenv;delete items.purifiedfreshwaterglassbottle.recipe.requiredenv;delete items.desalinatedwaterwaterskin.recipe.requiredenv;delete items.desalinatedwaterglassbottle.recipe.requiredenv;sw("#mod_waterClean","orange");f_ret=true}else{items.purifiedfreshwaterwaterskin.recipe.requiredenv="campfire_lit";items.purifiedfreshwaterglassbottle.recipe.requiredenv="campfire_lit";items.desalinatedwaterwaterskin.recipe.requiredenv="campfire_lit";items.desalinatedwaterglassbottle.recipe.requiredenv="campfire_lit";sw("#mod_waterClean","black");f_ret=false}return f_ret}$("#recover").append( button type="button" id="mod_waterClean" waterClean /button );if(items.purifiedfreshwaterwaterskin.recipe.requiredenv==undefined){sw("#mod_waterClean","orange")}$("#recover").on("click","#mod_waterClean",function(a){appendfunc_waterClean()});function chk_immotalFire(){if(environmentals.campfire_lit.decay==undefined){return true}else{return false}}function appendfunc_immotalFire(){f_ret=false;var a=false;var c=["campfire_lit","kiln_lit","forgeandanvil_lit","furnace_lit","torchstand_lit"];var b=[60,75,60,75];if(!chk_immotalFire()){a=true}for(var d in environmentals){if($.inArray(d,c) =0){if(a==false){environmentals[d].decay=b[$.inArray(d,c)]}else{delete environmentals[d].decay}}}f_ret=a;if(a==true){sw("#mod_immotalFire","orange")}else{sw("#mod_immotalFire","black")}delete c;delete b;delete a;return f_ret}$("#recover").append( button type="button" id="mod_immotalFire" immotalFire /button );if(environmentals.campfire_lit.decay==undefined){sw("#mod_immotalFire","orange")}$("#recover").on("click","#mod_immotalFire",function(a){appendfunc_immotalFire()});function chk_female(){if(player.characterSprite.src.indexOf("female")==-1){return false}else{return true}}function appendfunc_female(){f_ret=false;var a="http //www.unlok.ca/wayward/images/character.png";var b="http //www55.atwiki.jp/wayward_jp?cmd=upload act=open pageid=27 file=character_female.png";if(!chk_female()){player.characterSprite.src=b;sw("#mod_female","orange");f_ret=true}else{player.characterSprite.src=a;sw("#mod_female","black");f_ret=false}delete a;delete b;passTurn(false);return f_ret}$("#recover").append( button type="button" id="mod_female" female /button );if(player.characterSprite.src.indexOf("female")!=-1){sw("#mod_female","orange")}$("#recover").on("click","#mod_female",function(a){appendfunc_female()});function chk_offalNOTmeat(){if(items.offal.group==undefined){return true}else{return false}}function appendfunc_offalNOTmeat(){f_ret=false;if(!chk_offalNOTmeat()){delete items.offal.group;sw("#mod_offalNOTmeat","orange");f_ret=true}else{items.offal.group=["compost","meat"];sw("#mod_offalNOTmeat","black");f_ret=false}craftTable();return f_ret}$("#recover").append( button type="button" id="mod_offalNOTmeat" offalNOTmeat /button );if(chk_offalNOTmeat()){sw("#mod_offalNOTmeat","orange")}$("#recover").on("click","#mod_offalNOTmeat",function(a){appendfunc_offalNOTmeat()});function chk_DurMax(){if(craftItem.toString().indexOf("items[craftType].maxdur;")==-1){return false}else{return true}}function appendfunc_DurMax(){f_ret=false;var prev1="minDur = itemDurability.originalMinimum;";var new_1="minDur = itemDurability.originalMaximum ;";var prev2="maxDur = itemDurability.originalMaximum;";var new_2="madXur = items[craftType].maxdur;";if(!chk_DurMax()){craftItem=eval("("+craftItem.toString().replace(prev1,new_1).replace(prev2,new_2)+")");sw("#mod_DurMax","orange");f_ret=true}else{craftItem=eval("("+craftItem.toString().replace(new_1,prev1).replace(new_2,prev2)+")");sw("#mod_DurMax","black");f_ret=false}delete prev1;delete new_1;delete prev2;delete new_2;return f_ret}$("#recover").append( button type = "button" id="mod_DurMax" DurMax /button );if(chk_DurMax()){sw("#mod_DurMax","orange")}$("#recover").on("click","#mod_DurMax",function(a){appendfunc_DurMax()});function chk_Aberrant(){if(spawnMonster.toString().indexOf("forceAberrant=true;")==-1){return false}else{return true}}function appendfunc_Aberrant(){f_ret=false;prev1="var aberrantChance = 0;";new_1="forceAberrant=true;"+prev1;if(!chk_Aberrant()){spawnMonster=eval("("+spawnMonster.toString().replace(prev1,new_1)+")");sw("#mod_Aberrant","orange");f_ret=true}else{spawnMonster=eval("("+spawnMonster.toString().replace(new_1,prev1)+")");sw("#mod_Aberrant","black");f_ret=false}delete prev1;delete new_1;return f_ret}function appendfunc_searchDropItem(){function b(j,i){if(j.far i.far){return 1}else{return-1}}var c=0;var a=0;var k=0;var h="";var g="";var d=[];ui.message("debug","bad",["===start DropitemSearch==="]);for(var f=0;f =tileItems.length;f++){if(!tileItems[f]){}else{if(player.x =512){if(tileItems[f].x 512){c=player.x-tileItems[f].x;a=player.y-tileItems[f].y;if(c =0){h=decodeURI("%E2%86%92")}else{h=decodeURI("%E2%86%90")}if(a =0){g=decodeURI("%E2%86%93")}else{g=decodeURI("%E2%86%91")}k=Math.abs(c)+Math.abs(a);d.push({type tileItems[f].type,x Math.abs(c),y Math.abs(a),dirX h,dirY g,far k})}}else{if(tileItems[f].x =512){c=player.x-tileItems[f].x;a=player.y-tileItems[f].y;if(c =0){h=decodeURI("%E2%86%92")}else{h=decodeURI("%E2%86%90")}if(a =0){g=decodeURI("%E2%86%93")}else{g=decodeURI("%E2%86%91")}k=Math.abs(c)+Math.abs(a);d.push({type tileItems[f].type,x Math.abs(c),y Math.abs(a),dirX h,dirY g,far k})}}}}d.sort(b);for(var e=1;e =(d.length =mod_recover_saveData.findCount?mod_recover_saveData.findCount d.length);e++){ui.message("debug","",["#"+e+" - "+d[e-1].type+"("+d[e-1].dirX+d[e-1].x+","+d[e-1].dirY+d[e-1].y+")[far "+d[e-1].far+"]"])}if(d.length==0){ui.message("debug","",["No item found."])}else{ui.message("debug","",[d.length+" items"])}delete c;delete a;delete h;delete g;delete k;delete dropCount;d=""}function appendfunc_searchPlacedItem(){function b(j,i){if(j.far i.far){return 1}else{return-1}}var c=0;var a=0;var k=0;var h="";var g="";var d=[];ui.message("debug","bad",["===start PlaceditemSearch==="]);for(var f=0;f =envItems.length;f++){if(!envItems[f]){}else{if(envItems[f].type!="woodenchest_unlocked"){if(player.x =512){if(envItems[f].x 512){c=player.x-envItems[f].x;a=player.y-envItems[f].y;if(c =0){h=decodeURI("%E2%86%92")}else{h=decodeURI("%E2%86%90")}if(a =0){g=decodeURI("%E2%86%93")}else{g=decodeURI("%E2%86%91")}k=Math.abs(c)+Math.abs(a);d.push({type envItems[f].type,x Math.abs(c),y Math.abs(a),dirX h,dirY g,far k})}}else{if(envItems[f].x =512){c=player.x-envItems[f].x;a=player.y-envItems[f].y;if(c =0){h=decodeURI("%E2%86%92")}else{h=decodeURI("%E2%86%90")}if(a =0){g=decodeURI("%E2%86%93")}else{g=decodeURI("%E2%86%91")}k=Math.abs(c)+Math.abs(a);d.push({type envItems[f].type,x Math.abs(c),y Math.abs(a),dirX h,dirY g,far k})}}}}}d.sort(b);for(var e=1;e =(d.length =mod_recover_saveData.findCount?mod_recover_saveData.findCount d.length);e++){ui.message("debug","",["#"+e+" - "+d[e-1].type+"("+d[e-1].dirX+d[e-1].x+","+d[e-1].dirY+d[e-1].y+")[far "+d[e-1].far+"]"])}if(d.length==0){ui.message("debug","",["No item found."])}else{ui.message("debug","",[d.length+" items"])}delete c;delete a;delete h;delete g;delete k;delete dropCount;d=""}function appendfunc_oreSonarInit(){function d(g,f){if(g.far f.far){return 1}else{return-1}}var a="";var e=false;for(var c=0;c =1023;c++){for(var b=0;b =511;b++){if(tile[c][b].type=="coalrock"||tile[c][b].type=="ironrock"||tile[c][b].type=="limestonerock"||tile[c][b].type=="talcrock"||tile[c][b].type=="ironsandstone"||tile[c][b].type=="nitersandstone"||tile[c][b].type=="ash"||tile[c][b].type=="snow"){a="ore ";e=true}if(tile[c][b].type=="berryforest"||tile[c][b].type=="fungusforest"||tile[c][b].type=="vineforest"||tile[c][b].type=="swamp"||tile[c][b].type=="coconutspalm"){a="forest";e=true}if(e){oreSonar.push({group a,x c,y b,type tile[c][b].type,relX player.x-c,relY player.y-b,far Math.abs(player.x-c)+Math.abs(player.y-b),dirX (player.x-c =0?decodeURI("%E2%86%92") decodeURI("%E2%86%90")),dirY (player.y-b =0?decodeURI("%E2%86%91") decodeURI("%E2%86%93"))});e=false}}}oreSonar.sort(d)}function appendfunc_oreSonarVerify(){function d(g,f){if(g.far f.far){return 1}else{return-1}}var e=false;var b=1;var a=[0,0];for(var c=oreSonar.length;c =0;c--){if(!oreSonar[c]){}else{if(tile[oreSonar[c].x][oreSonar[c].y].type==oreSonar[c].type){oreSonar[c].relX=player.x-oreSonar[c].x;oreSonar[c].relY=player.y-oreSonar[c].y;oreSonar[c].far=Math.abs(oreSonar[c].relX)+Math.abs(oreSonar[c].relY);oreSonar[c].dirX=(oreSonar[c].relX 0?decodeURI("%E2%86%90") decodeURI("%E2%86%92"));oreSonar[c].dirY=(oreSonar[c].relY 0?decodeURI("%E2%86%91") decodeURI("%E2%86%93"));if(oreSonar[c].x =511){a[0]++}else{a[1]++}}else{oreSonar.splice(c,1)}}}oreSonar.sort(d);ui.message("debug","bad",["===start oreSearch==="]);for(c=1;c =oreSonar.length;c++){if(player.x =511){if(oreSonar[c-1].x =511){e=true}}else{if(oreSonar[c-1].x =512){e=true}}if(e){ui.message("debug","",["#"+b+" - "+oreSonar[c-1].type+"("+oreSonar[c-1].dirX+Math.abs(oreSonar[c-1].relX)+","+oreSonar[c-1].dirY+Math.abs(oreSonar[c-1].relY)+")[far "+oreSonar[c-1].far+"]"]);b++;e=false;if(c==oreSonar.length||b mod_recover_saveData.findCount){break}}}if(b==1){ui.message("debug","",["No item found."])}else{if(player.x =511){ui.message("debug","",[a[0]+" items"])}else{ui.message("debug","",[a[1]+" items"])}}}$("#recover").append( button type="button" id="mod_Aberrant" popAberrant /button );if(chk_Aberrant()){sw("#mod_Aberrant","orange")}$("#recover").on("click","#mod_Aberrant",function(a){appendfunc_Aberrant()});function mod_recover_save(){mod_recover_saveData.left=$("#recover").parent().parent().parent().css("left");mod_recover_saveData.top=$("#recover").parent().parent().parent().css("top");mod_recover_saveData.width=$("#mod_recover_window").css("width");mod_recover_saveData.height=$("#mod_recover_window").css("height");mod_recover_saveData.recoverAuto=chk_recoverAuto();mod_recover_saveData.alwaysDaylight=chk_alwaysDaylight();mod_recover_saveData.ignoreWeight=chk_ignoreWeight();mod_recover_saveData.freshWater=chk_freshWater();mod_recover_saveData.skillGrow=chk_skillGrow();mod_recover_saveData.delaycut=chk_delaycut();mod_recover_saveData.speedCraft=chk_speedCraft();mod_recover_saveData.successDig=chk_successDig();mod_recover_saveData.infinityGun=chk_infinityGun();mod_recover_saveData.treasureMap=chk_treasureMap();mod_recover_saveData.holeySkin=chk_holeySkin();mod_recover_saveData.dropAllEx=chk_dropAllEx();mod_recover_saveData.pickupAll=chk_pickupAll();mod_recover_saveData.taintFree=chk_taintFree();mod_recover_saveData.autoCarve=chk_autoCarve();mod_recover_saveData.ugCulture=chk_ugCulture();mod_recover_saveData.rottenMeat=chk_rottenMeat();mod_recover_saveData.calcWeight=chk_calcWeight();mod_recover_saveData.waterClean=chk_waterClean();mod_recover_saveData.immotalFire=chk_immotalFire();mod_recover_saveData.multiCreate=chk_multiCreate();mod_recover_saveData.female=chk_female();mod_recover_saveData.offalNOTmeat=chk_offalNOTmeat();mod_recover_saveData.DurMax=chk_DurMax();mod_recover_saveData.Aberrant=chk_Aberrant();localStorage.setItem("mod_recover_saveData",JSON.stringify(mod_recover_saveData))}function mod_recover_load(){mod_recover_saveData=JSON.parse(localStorage.getItem("mod_recover_saveData"));for(prop in mod_recover_saveData){if(prop=="left"){$("#recover").parent().parent().parent().css("left",mod_recover_saveData.left)}if(prop=="top"){$("#recover").parent().parent().parent().css("top",mod_recover_saveData.top)}if(prop=="height"){$("#mod_recover_window").css("height",mod_recover_saveData.height)}if(prop=="width"){$("#mod_recover_window").css("height",mod_recover_saveData.width)}if(prop=="recoverAuto"){if(mod_recover_saveData[prop]!=chk_recoverAuto()){appendfunc_recoverAuto()}}if(prop=="alwaysDaylight"){if(mod_recover_saveData[prop]!=chk_alwaysDaylight()){appendfunc_alwaysDaylight()}}if(prop=="ignoreWeight"){if(mod_recover_saveData[prop]!=chk_ignoreWeight()){appendfunc_ignoreWeight()}}if(prop=="freshWater"){if(mod_recover_saveData[prop]!=chk_freshWater()){appendfunc_freshWater()}}if(prop=="skillGrow"){if(mod_recover_saveData[prop]!=chk_skillGrow()){appendfunc_skillGrow()}}if(prop=="delaycut"){if(mod_recover_saveData[prop]!=chk_delaycut()){appendfunc_delaycut()}}if(prop=="speedCraft"){if(mod_recover_saveData[prop]!=chk_speedCraft()){appendfunc_speedCraft()}}if(prop=="successDig"){if(mod_recover_saveData[prop]!=chk_successDig()){appendfunc_successDig()}}if(prop=="infinityGun"){if(mod_recover_saveData[prop]!=chk_infinityGun()){appendfunc_infinityGun()}}if(prop=="treasureMap"){if(mod_recover_saveData[prop]!=chk_treasureMap()){appendfunc_treasureMap()}}if(prop=="holeySkin"){if(mod_recover_saveData[prop]!=chk_holeySkin()){appendfunc_holeySkin()}}if(prop=="dropAllEx"){if(mod_recover_saveData[prop]!=chk_dropAllEx()){appendfunc_dropAllEx()}}if(prop=="pickupAll"){if(mod_recover_saveData[prop]!=chk_pickupAll()){appendfunc_pickupAll()}}if(prop=="taintFree"){if(mod_recover_saveData[prop]!=chk_taintFree()){appendfunc_taintFree()}}if(prop=="autoCarve"){if(mod_recover_saveData[prop]!=chk_autoCarve()){appendfunc_autoCarve()}}if(prop=="ugCulture"){if(mod_recover_saveData[prop]!=chk_ugCulture()){appendfunc_ugCulture()}}if(prop=="rottenMeat"){if(mod_recover_saveData[prop]!=chk_rottenMeat()){appendfunc_rottenMeat()}}if(prop=="calcWeight"){if(mod_recover_saveData[prop]!=chk_calcWeight()){appendfunc_calcWeight()}}if(prop=="waterClean"){if(mod_recover_saveData[prop]!=chk_waterClean()){appendfunc_waterClean()}}if(prop=="immotalFire"){if(mod_recover_saveData[prop]!=chk_immotalFire()){appendfunc_immotalFire()}}if(prop=="multiCreate"){if(mod_recover_saveData[prop]!=chk_multiCreate()){appendfunc_multiCreate()}}if(prop=="female"){if(mod_recover_saveData[prop]!=chk_female()){appendfunc_female()}}if(prop=="offalNOTmeat"){if(mod_recover_saveData[prop]!=chk_offalNOTmeat()){appendfunc_offalNOTmeat()}}if(prop=="DurMax"){if(mod_recover_saveData[prop]!=chk_DurMax()){appendfunc_DurMax()}}if(prop=="Aberrant"){if(mod_recover_saveData[prop]!=chk_Aberrant()){appendfunc_Aberrant()}}}}mod_recover_load();$("#actionsopen").parent().on("click","#mod_recover_visible",function(a){if($("#mod_recover_window").dialog("isOpen")){$("#mod_recover_window").dialog("close")}else{$("#mod_recover_window").dialog({width mod_recover_saveData.width,height 140,autoOpen true,closeOnEscape false});$("#recover").parent().parent().parent().css("top",mod_recover_saveData.top);$("#recover").parent().parent().parent().css("left",mod_recover_saveData.left)}})}else{var delTargetElement=document.getElementById("mod_recover_root");delTargetElement.parentNode.removeChild(delTargetElement);delTargetElement=document.getElementById("mod_recover_visible");delTargetElement.parentNode.removeChild(delTargetElement);delTargetElement=document.getElementById("mod_multiCreate_frame");delTargetElement.parentNode.removeChild(delTargetElement);$("#mod_multiCreate_frame").off("click","#mod_multiCreate");$("#mod_recover_window").dialog("destroy");$("#mod_recover_window").dialog("widget").remove();delete delTargetElement}; インベントリエディタ ver0.01c +... //試作品、オプションウィンドウの下に貼り付きます、再読み込みで消滅します //値を編集後、「update」ボタンを押すと適用されます //アイテムを落として拾い直したりすると内部ID(アイテム名の右側の数字)が変わるので、使用前に逐次「Refresh」ボタンを押してください //コンテナ・カバンの中身や地面に落ちているアイテム等、メインインベントリに入っていないアイテムは対象外です //PCのスペックにも依存しますが、IDが大きくなってくると処理が遅くなりますので、再起動の目安にもどうぞ //内部的なDecay(使用期限)無しは-1です、-1の値が入っている時は背景が灰色になります // 未実装・不具合等 //数値を入力すべきボックスに文字や全角数字を入力するとそのうちNaNエラーが出ると思います(未検証)、半角数字で入力してください //品質を変更しても枠線の色は変わりません、従来どおり捨てて拾い直す必要がありますが、その際はRefreshボタンも忘れずに //入力ボックスの背景が灰色の箇所は処理を飛ばしています、Decayなど、-1にしたものを再度5000などの有効な数値に変更することはできません //[修正済]フルキー1~9を押すとクイックスロットのアイテムを使用してしまうため、数字を入力する際は必ずテンキーを使用してください //ver0.01bでキーバインド割り込み処理を追加しました、テキストボックス入力にフルキーも使用できます(砂型を投げたりする事故が防げます) //但し、上に紹介のある「大きなミニマップ」等の、ui.$documentのkeydown処理を書き換えるmodを後から読み込むと割り込み処理が解除されます //キーバインドを書き換えるmodよりも後に読み込めば両方動きます //ver0.01c 耐久等の数値を書き換える際に文字列型になっていたバグを今更修正 // Messages.debug="_0_";var ignoreID=["itemCheat_curdurability","itemCheat_maxdurability","itemCheat_decayable","itemCheat_bonusValue"];var appendkeybind=$._data(ui.$document.get(0), "events")["keydown"][0].handler.toString();if(appendkeybind.indexOf(ignoreID[0])==-1){var basekeybindstr="ui.$code.is";var tmpkeybindstr= (" focus")){return true}else if($("#ignoreID[i]").is ;var keybindstr="";for(var i=0;i =ignoreID.length;i++){keybindstr=keybindstr+tmpkeybindstr.replace("ignoreID[i]",ignoreID[i])}appendkeybind=appendkeybind.replace(basekeybindstr,basekeybindstr+keybindstr);ui.$document.unbind("keydown").bind("keydown",eval("("+appendkeybind+")"));delete besekeybindstr;delete tmpkeybindstr;delete keybindstr;}if(document.getElementById("itemCheat") === null){$("#optionswindow").append( div id="itemCheat" / );$("#itemCheat").append(" hr p @@mod_invCheat@@ /p ");$("#itemCheat").append( select id="itemCheat_invList" size="8" / );$("#itemCheat_invList").css("float","left").css("margin","5px");for(var i=0;i =player.invItems.length;i++){if(!player.invItems[i]){}else{$("#itemCheat_invList").append( option value=" +i+ " +i+ +items[player.invItems[i].type].name+ /option );}}$("#itemCheat").append( button type="button" id="itemCheat_refresh" Refresh /button nbsp; button type="button" id="itemCheat_update" update /button /p );$("#itemCheat").append( CurDur input id="itemCheat_curdurability" size="5" / nbsp;MaxDur input id="itemCheat_maxdurability" size="5" / );$("#itemCheat").append( Decay nbsp; nbsp; input id="itemCheat_decayable" size="5" / br / );$("#itemCheat").append( div style = "float left" Quality select id="itemCheat_quality" size="4" / nbsp br / /div );$("#itemCheat").append( div style = "float left" Bonus nbsp; select id="itemCheat_bonusType" size="4" / nbsp; input id="itemCheat_bonusValue" size="3" / /div );for(var skillType in player.skills){ $("#itemCheat_bonusType").append( option value= +skillType+ +player.skillTypes[skillType].name+ /option )}$("#itemCheat_quality").append( option value="Normal" Normal /option option value="Remarkable" Remarkable /option option value="Exceptional" Exceptional /option option value="Legendary" Legendary /option );$("#itemCheat").append( div id="itemCheat_clearboth" style="clear both" / );$("#itemCheat").on("click","#itemCheat_refresh",function(e){$("#itemCheat_invList").children().remove();for(var i=0;i =player.invItems.length;i++){if(!player.invItems[i]){}else{$("#itemCheat_invList").append( option value=" +i+ " +i+ +items[player.invItems[i].type].name+ /option );}}});$("#itemCheat").on("click","#itemCheat_quality",function(e){if(itemCheat_quality.value=="Legendary"){$("#itemCheat_bonusType").css("background-color","white");$("#itemCheat_bonusValue").css("background-color","black")}else{$("#itemCheat_bonusType").css("background-color","gray");$("#itemCheat_bonusValue").css("background-color","gray")}});$("#itemCheat").on("click","#itemCheat_invList",function(e){if(player.invItems[itemCheat_invList.value].decay==-1){$("#itemCheat_decayable").css("background-color","gray");}else{$("#itemCheat_decayable").css("background-color","black");}itemCheat_decayable.value=player.invItems[itemCheat_invList.value].decay;itemCheat_curdurability.value=player.invItems[itemCheat_invList.value].mindur;itemCheat_maxdurability.value=player.invItems[itemCheat_invList.value].maxdur;itemCheat_quality.value="Normal";if(player.invItems[itemCheat_invList.value].props!==null player.invItems[itemCheat_invList.value].props!==undefined){itemCheat_bonusType.value=player.invItems[itemCheat_invList.value].props[0];itemCheat_bonusValue.value=player.invItems[itemCheat_invList.value].props[1]}else{itemCheat_bonusType.selectedIndex=-1;itemCheat_bonusValue.value=0}if(player.invItems[itemCheat_invList.value].quality!=""){itemCheat_quality.value=player.invItems[itemCheat_invList.value].quality;if(itemCheat_quality.value=="Legendary"){$("#itemCheat_bonusType").css("background-color","white");$("#itemCheat_bonusValue").css("background-color","black")}else{$("#itemCheat_bonusType").css("background-color","gray");$("#itemCheat_bonusValue").css("background-color","gray")}}else{itemCheat_bonusType.selectedIndex=-1;$("#itemCheat_bonusType").css("background-color","gray");itemCheat_bonusValue.value="0";$("#itemCheat_bonusValue").css("background-color","gray");}});$("#itemCheat").on("click","#itemCheat_update",function(e){if(itemCheat_invList.selectedIndex==-1){ui.message("debug","bad",["TargetItem not selected!"]);}else{if($("#itemCheat_decayable").css("background-color")=="rgb(0, 0, 0)"){player.invItems[itemCheat_invList.value].decay=itemCheat_decayable.value}player.invItems[itemCheat_invList.value].mindur=parseInt(itemCheat_curdurability.value);player.invItems[itemCheat_invList.value].maxdur=parseInt(itemCheat_maxdurability.value);if(itemCheat_quality.value=="Normal"){player.invItems[itemCheat_invList.value].quality=""}else{player.invItems[itemCheat_invList.value].quality=itemCheat_quality.value}if($("#itemCheat_bonusValue").css("background-color")!="rgb(128, 128, 128)"){player.invItems[itemCheat_invList.value].props=[itemCheat_bonusType.value,parseInt(itemCheat_bonusValue.value)]}ui.message("debug","",[itemCheat_invList.value+" "+items[player.invItems[itemCheat_invList.value].type].name+" edited."]);}});}else{var delTargetElement=document.getElementById("itemCheat");delTargetElement.parentNode.removeChild(delTargetElement);} 要望の検証について +... 「耐久値や使用期限が…減る/減らない」(食料だけ、武器・防具だけ、と種類別で指定できるのも良いかと) ◆状況 減る/減らないの処理は[taintFree]ボタンにて適用済、※アイテムの種類ごとの指定は手間がかかるので取下げ [アイテムの種類の判別方法(例)] 武器 if(items.[obj.type].damageType != undefined){ 武器用の処理 } 防具 if(items.[obj.type].equip != undefined items.[obj.type].equip != "held"){ 防具用の処理 } 食料 if(items.[obj.type].use != undefined){if(items.[obj.type].use[0] == "eat"){ 食料用の処理 } 「アイテムを入手した際における耐久値(m/n)は…ゲーム仕様に戻す/常にm=nの新品状態で入手」 ◆状況 未着手 itemGet()の先頭にitem.mindur=items[item].maxdur;を追加する、craftItemのランダム処理を潰す itemGet=eval("("+itemGet.toString().replace(";placeItem",";item.mindur=items[item.type].maxdur; placeItem")+")"); (未完成っぽい、上記だとCraft時に耐久減ったものができるので追加のコードが必要) 地面から拾った時に耐久が1減る(耐久の増減の④と⑤)処理については未調査 「自キャラ正面のパネルで燃えている火を…ゲーム仕様に戻す/何も燃やさず直ちに消す/そこに可燃物(地形、アイテム)がある場合は一瞬で燃やしつくして直ちに消火」 ◆状況 未着手 (スイッチで機能を選択して「消火」ボタンを押下、隣接するパネルへ延焼せずに消火) →何も燃やさず直ちに消すのは、player.actions.startFire()辺りにchangeTile(type "ash",以下未調査)を仕込めばできそう 可燃物の消滅は上記に加えてdropAllExcendと同じ処理をtileItemsに対して回せばできそう 「「ペミカン」を製作する素材として「内臓」を…使用する/使用しない」(「マジカルエッセンス」製作用に「内臓」をインベントリに残して置きたい場合) →これは、内臓のグループを解除すればいいのかな、多分肥料の材料にもしたくないと思うので ◆状況 [offalMeat]で実装予定 消す場合 delete items.offal.grouping; 戻す場合 items.offal.grouping=["compost","meat"]; 「徒歩による移動速度は地形の影響を…受ける/受けない」(進入不可なタイルは除く) →これはrender()の中身を把握した上で、移動ウェイトの直前に[player.x+player.direction.x][player.y+player.direction.y]の位置のタイルを判定してdelayを増減するものを差し込む形になるのかな、すぐには見当つかないです・・・ ◆状況 未着手、というか実装できる気がしないです 「プレイヤーの近くにいる鶏が各ターンに確率で卵を産む(鶏の数が多いと卵を産まなくなる)」 →次のコードを保存し、先頭の数値を書き換えてから読み込んでみてください //=== ここから === var posRange = 10; //自分と指定したマス以上離れていれば生成を行わない var firechance = 40; //ファイアエレメントが炎を撒き散らす確率、低いほど確率が上がる、0を指定すると100%落ちる var swampchance = 40; //ボグリングが足元を沼にする確率、同上 var trapchance = 200; //ホブゴブリンがくくり罠を設置する確率、同上 var eggchance = 2000; //ニワトリがタマゴを落とす確率、同上 var featherchance = 400; //ハーピーが羽を落とす確率、同上 var rangequalify = " game.monsters[monster].x player.x-posRange game.monsters[monster].x player.x+posRange game.monsters[monster].y player.y - posRange game.monsters[monster].y player.y + posRange"; monsterMove=eval("("+monsterMove.toString().replace("(Math.floor(Math.random() * 40 + 1) === 1)","(Math.floor(Math.random() * "+firechance+" + 1)===1"+rangequalify+")").replace("(Math.floor(Math.random() * 40 + 1) === 1)","(Math.floor(Math.random() * "+swampchance+" + 1)===1"+rangequalify+")").replace("(Math.floor(Math.random() * 2000 + 1) === 1)","(Math.floor(Math.random() * "+eggchance+" + 1)===1"+rangequalify+")").replace("(Math.floor(Math.random() * 200 + 1) === 1)","(Math.floor(Math.random() * "+trapchance+" + 1)===1"+rangequalify+")").replace("(Math.floor(Math.random() * 400 + 1) === 1)","(Math.floor(Math.random() * "+featherchance+" + 1)===1"+rangequalify+")")+")"); delete posRange;delete firechance; delete swampchance; delete trapchance;delete eggchance;delete featherchance;delete rangequalify; //=== ここまで === なお、上記ではposRangeで設定した距離以上離れている全てのモンスターのドロップ判定がキャンセルされますので、ニワトリのタマゴの確率だけを操作したいのであれば次のコードを //=== ここから === var posRange = 10; //自分と指定したマス以上離れていれば生成を行わない var eggchance = 2000; ////ニワトリがタマゴを落とす確率、低いほど確率が上がる、0を指定すると100%落ちる var rangequalify = " game.monsters[monster].x player.x-posRange game.monsters[monster].x player.x+posRange game.monsters[monster].y player.y - posRange game.monsters[monster].y player.y + posRange"; monsterMove=eval("("+monsterMove.toString().replace("(Math.floor(Math.random() * 2000 + 1) === 1)","(Math.floor(Math.random() * "+eggchance +" + 1)===1"+rangequalify+")")+")"); delete posRange;delete eggchance;delete rangequalify; //=== ここまで === 技術情報 +... ◇内部処理の書き換えについて ①元処理の取得方法 ●タイプA(普通の関数) var basefunc = passTurn.toString(); ●タイプB(イベントドリブン) var basefunc = $._data( $obj .get(0), "events")[ action ][0].handler.toString(); ②処理の書き換え basefunc.toString().replace("置換前","置換後"); ③処理の書き戻し ●タイプA passTurn = eval("("+basefunc+")"); ●タイプB $obj .unbind( action ).bind( action ,eval("("+basefunc+")"); a) 私が使用している「普通の関数」の書き換え方法は、上記①②③が全部セットになって1行で動作します 例) passTurn = eval("("+passTurn.toString().replace("置換前","置換後")+")"); b) タイプB「イベントドリブン」は、「マウスが押された時」「キーが押された時」「ページが更新された時」などの処理です 私がキーバインド割り込みと呼んでいるものはこちら側の処理です ui.$document.unbind("keyup").bind("keyup",eval("("+[元処理参照].replace("置換前","置換後")+")")と 記述すると、unbind完了後(元処理削除後)に元処理参照が行われて空の関数が返ってきてしまうので、変数を使います 良い例 先に変数basefuncに元処理を格納 ①と②var basefunc = $._data(ui.$document.get(0), "events")["keyup"][0].handler.toString().replace("置換前","置換後"); ③ui.$document.unbind("keyup").bind("keyup",eval("("+basefunc+")")); 悪い例 unbindの後に処理内容を参照している ui.$document.unbind("keyup").bind("keyup",eval("("+$._data(ui.$document.get(0), "events") ["keyup"][0].handler.toString().replace("置換前","置換後")+")"); この場合、$._data(以下略)["keyup"][0].handler.toString() はunbind()後なので空の関数が返ってきてしまいます ◇スイッチ化について(いろいろボタンの構成) basefunc.indexOf()を使用しています、basefuncの取り方は上に記載したとおりです if(basefunc.indexOf("識別文字")==-1){ 置換処理 } else { 戻す処理 } ①ボタンの追加処理 $( #obj ).append( button id = "ボタン名" 表示文字 /button ); ②既に書換が済んでしているかどうか判定(書き換えられているなら背景を指定した色に) if(basefunc.indexOf("識別文字")!=-1){ $("#ボタン名").css("background-color","色指定"); } ③ボタンの押下処理 $( #obj ).on("click","#ボタン名",function(e){ if(basefunc.indexOf("識別文字")==-1){ 置換処理; 色変更処理(ON); } else { 戻す処理; 色変更処理(OFF) } }); ←jQueryは関数の閉じカッコに気を付けましょう、functionの終わり"}"とonの終わり");" ◇複数箇所の置換と復帰について replace()関数は、最初に見つかったものだけを置き換えます "abcdabcd".replace("abcd","ABCD")の結果は "ABCDabcd"になります "ABCDABCD"に変換したい場合は "abcdabcd".replace("abcd","ABCD").replace("abcd","ABCD")とする必要があります これを利用して、識別文字を割り当てることができます 識別文字の作成方法 ①"console.log( この部分は置換済 );" 等の意味の無い処理をを後ろに付ける方法(値の書き換え等で使用、文字は適当) ②"if(0 === 0)", "if(0 === 1)" などで分岐を操作する方法 などがありますが、②について、"if(0 === 0)", "if(0===0)", "if(0=== 0)", "if(0 ===0)", "if(0 === 0)"のように 書換後の処理が同じでも半角スペースの場所を変えることによって置換したものを戻す場所を特定できます (可読性は犠牲になりますが) 補足情報(蛇足とも言う) ①var と delete var basefunc; → basefuncという変数を宣言します delete basefunc; → basefuncという変数を削除します 基本的に、いらない変数は処理の最後に削除してしまう方がよいのですが、ボタン化した場合などは特に、 むやみにdeleteするとエラーの原因になりますので気を付けましょう。ちなみにdeleteですが、値を削除しますので for(var itm in items){if(items[itm].decay){delete items[itm].decay}} このような使い方をすると、以降生成されるアイテムの使用期限(decay)が全てなくなったりします ②eval()について eval(str)は、strを関数として解釈するための命令ですが、前後にカッコを付ける必要があります 悪い例 eval("function(void){ a = 1; }"); 良い例 eval("(" + "function(void){ a = 1; }" + ")"); さいごに 名前付けの規則だったりスペースを入れる場所だったり、本職の方から見たら許せないような箇所も たくさん見受けられるかと思いますが、私はプログラマでもなんでもない独学でやっているだけの 素人ですので、ご容赦頂ければと思います。 日本語化(野良Mod) 有志による日本語化対応 ※最新版は MOD(日本語化) へ。 旧版は編集の邪魔になるので削除。 匿名Mod ミニModを不定期に追加していきます ※一部のコードはコメントアウトしてますが、これはModPackとしてまとめて使用しても癖の少ない変更点で抑えるために行っているためです。 有効にしたいときは、コメント文「//」を削除してください。 +... //-------------------------------------------------- //匿名ModPack ver0.03 //-------------------------------------------------- //匿名Mod 導入必須 ver0.03 //当MOD導入に必要(関数変更関数を関数インスタンスから実行できる関数を関数で登録する無名関数(MODのコメントにPatchFixのPFがあればこれが前提に必要となる) (function(){Function.prototype.funcreplace=function(){var s=this.toString().substring(this.toString().indexOf("{")+2,this.toString().lastIndexOf("}")-1);for(var i=0;i arguments.length-1;i+=2)s=s.replace(arguments[i],arguments[i+1]);return s;}})() //当MOD導入に必要(関数を1つ追加 MODのコメントにStyleSheetのSSがあればこれが前提に必要となる) styleSheet=function(){for(var i=0;i arguments.length;i++)document.styleSheets[0].insertRule(arguments[i], document.styleSheets[0].cssRules.length)}; //------------------------- //匿名Mod 修正版 ver0.03 //バッグを開いてる時にアイテムを右クリックするとバッグへ入るように修正する(PF 通常は地上に落とす) dropItem=new Function( itemId , location , dropAll ,dropItem.funcreplace( var fireDrop = false; , if(game.containerOpened.containerType===\ INV\ ){location=\ INV\ ;};var fireDrop = false; )); //箱とバッグからアイテムを取り出せなくなるバグを修正する(PF) moveToInventoryFromContainer=new Function( invId , moveAllItems ,moveToInventoryFromContainer.funcreplace( var cont = envItems[containerId].container; , var cont = null; , var item = cont[invId]; , if(cont==null)cont = envItems[containerId].container;var item = cont[invId]; )); // 連続してクラフトすると移動できなくなる時間ができるバグを修正する(PF) craftItem=new Function( craftType ,craftItem.funcreplace( game.delay += 10; , game.delay = 10; )); // 入れ物ウィンドウが開いてる場合で、箱の中身が入っていない時に箱を掘り出すと入れ物ウィンドウが閉じないバグを修正する(PF) game.isValidPickUp=new Function( envItemId ,game.isValidPickUp.funcreplace( return true; , if(game.containerOpened.containerType==="ENV" envItems[envItemId].container envItems[envItemId].container.length==0)closeContainer();return true; )); //「全て今開いている入れ物に入れる」にて道具が入りきれなくなったら処理を中断させるように修正(PF) dropItem=new Function( itemId , location , dropAll ,dropItem.funcreplace( finishItemDrop(playerItem, location, containerId); , if(!finishItemDrop(playerItem, location, containerId))break; )); //箱とバッグ内部に溜まる不要な情報を削除する(削除するのはnullだけなので恐らく安全 動作速度を若干向上しながらセーブデータ容量を少し減らす) closeContainer=new Function(closeContainer.funcreplace( game.containerOpened.containerType = ""; , if(game.containerOpened.id =0 game.containerOpened.containerType){var f=game.containerOpened.containerType==="ENV"?envItems[game.containerOpened.id] player.invItems[game.containerOpened.id];if(f f.container f.container.length 0){f=f.container;var r=f.length;for(var i=0;i r;i++){if(f[i]==null){f.splice(i--,1);r--;}}}};game.containerOpened.containerType = ""; )); // アイテムのコンディションが赤に表示している場合、修理すると元のコンディションに戻るように修正(PF 補強すると変化するでは効果はありません、そもそも対応させるのが面倒なので…) player.actions.repair=new Function( invId , invClass , containerId , bypassId ,player.actions.repair.funcreplace( item.mindur = item.maxdur; , item.mindur=item.maxdur;if(item.mindur 2){if(containerId){ui.$container.find(\ .item[data-itemid=\"\ +bypassId+\ \"]\ ).removeClass(\ damaged\ );}else{ui.$inventoryEquip.find(\ .item[data-itemid=\"\ +bypassId+\ \"]\ ).removeClass(\ damaged\ );}}; )); //設置した箱のアイテムは一切腐らなくなる(PF 大量にアイテムを保管してるワールド(容量が数MB以上)で20歩毎に発生する負荷を軽減する) // environmentalDecay=new Function( envId ,environmentalDecay.funcreplace( decayItemsInContainer(envId, envItems[envId].container, \"ENV\"); , )); //地上に置いたバッグのアイテムは一切腐らなくなる(PF 地上にバッグを置く人向けに負荷を軽減する) // passTurn=new Function( move ,passTurn.funcreplace( decayItemsInContainer(tileItemsKey[i2], tileItems[tileItemsKey[i2]].container, \"TILE\"); , )); // スキル・実績のウィンドウが開いてる時に行動すると負荷が上がるのを抑える(PF HTML情報に変化がなければ更新しない、ブラウザによってはこの問題を解決してる事があるためその場合は効果がない) player.skillGain=new Function( skillType , mod , bypass ,player.skillGain.funcreplace( ui.$skills.html(skillOutput); , if(skillOutput!=ui.$skills[0].innerHTML)ui.$skills.html(skillOutput); )); addMilestone=new Function( milestone ,addMilestone.funcreplace( ui.$milestones.html(milestonesOutput); , if(milestonesOutput!=ui.$milestones[0].innerHTML)ui.$milestones.html(milestonesOutput); )); //ミニマップを無効にする(PF 移動時の負荷を軽減する) // $( #miniMapCanvas ).remove();updateMiniMap=false;statbar=[];passTurn=new Function( move ,passTurn.funcreplace( game.updateMiniMap = true; , )); //------------------------- //匿名Mod ゲームUI版 ver0.03 //ウィンドウの表示枠を大きくする(SS 表示の無駄をかなり減らす事ができる) // styleSheet(".ui-dialog .ui-dialog-content{width auto !important;padding 0px !important;}",".ui-dialog {height auto !important;}",".ui-dialog .ui-dialog-titlebar,.ui-dialog .ui-dialog-buttonpane,.ui-dialog-buttonset .ui-button,.ui-button .ui-button-text,.filter{padding 0px !important;margin 0px !important;}","#inventory li,#craft div,#equipment .equip, #container li{margin 0px !important;}",".fontstyle, .fontstyle button{line-height 12px !important;}"); //閉じるボタンを縮小する(SS 「ウィンドウの表示枠を大きくする」と組み合わせる事を推奨) // styleSheet(".ui-dialog .ui-dialog-titlebar-close{margin 0px !important;top auto !important;right 0px !important;padding 5px 8px !important;background none !important;width auto !important;height auto !important;}"); // ウィンドウの背景をより薄くする(SS アイテムも透明化になると不便なのでこちらは色を付ける) // styleSheet(".ui-dialog .ui-dialog-content{background none !important;}",".ui-dialog not([aria-describedby=equipmentwindow]) .ui-dialog-content, #inventory li, #container li, #craft div not(.crafted), .equip li, .equip empty{background-color rgba(4, 4, 4, 0.4) !important;}",".equip not( empty){background none !important;}","#craft div.crafted not( hover){border-color transparent !important;}"); //ステータスバーの色を薄く&透明度をつける(SS 個人的に色が濃すぎてちょっと目に優しくないな、と) // styleSheet("#health{background none repeat scroll 0% 0% rgba(100%, 0%, 10%, 0.6) !important;}","#stamina{background none repeat scroll 0% 0% rgba(0%, 90%, 10%, 0.6) !important;}","#hunger{background none repeat scroll 0% 0% rgba(90%, 0%, 100%, 0.6) !important;}","#thirst{background none repeat scroll 0% 0% rgba(0%, 50%, 100%, 0.6) !important;}"); //クラフトウィンドウの制作できないアイテムを目立たせる // styleSheet("#craft div.crafted{box-shadow 0px 0px 10px rgba(255, 0, 29, 0.6) inset;}"); //マップを拡大しないようにする(SS マップが大きすぎる、といった場合に有効) // styleSheet(".map, #miniMapCanvas{min-width 114px !important;width 114px !important;height 114px !important;}"); //メッセージボックスを非表示にする(SS 邪魔!と思った方にお勧めです) // styleSheet("#messageoverlay{display none !important;}"); //メッセージボックスを左から右に移動する(SS) // styleSheet("#messageoverlay{left auto !important;right 0px;}"); //メッセージウィンドウの背景を透明にする(SS メッセージクリアボタンも削除) // styleSheet("#messageswindow,[aria-describedby=messageswindow] .ui-dialog-titlebar,[aria-describedby=messageswindow] .ui-dialog-buttonpane{background none !important;}","[aria-describedby=messageswindow] .ui-dialog-buttonset{display none !important;}"); //-------------------------------------------------- アイテムの枠の色を適正化 補強と変化でアイテムの状態が変わったときに枠の色を適切にする。 ※匿名Mod(Pack ver0.03)の導入が必須です。匿名Modの更新次第でこのスクリプトは必要なくなるまたは使えなくなる可能性があります。 対応バージョン DL版 Beta 1.9.2(Windows) +... //匿名Modの「player.actions.repair=new Function~」の部分の次の行に挿入して使ってください。 //補強 player.actions.reinforce=new Function( invId , invClass , containerId , bypassId ,player.actions.reinforce.funcreplace( ui.message("reinforce", \ normal\ ); , if(item.mindur 2){ui.$inventoryEquip.find(\ .item[data-itemid="\ +bypassId+\ "]\ ).removeClass(\ damaged\ );}ui.message("reinforce",\ normal\ ); )); //変化 player.actions.transmogrify=new Function( invId , invClass , containerId , bypassId ,player.actions.transmogrify.funcreplace( item.quality = "Legendary"; , var old_quality=item.quality;item.quality="Legendary";ui.$inventoryEquip.find(\ .item[data-itemid="\ +bypassId+\ "]\ ).removeClass(old_quality.toLowerCase()).addClass(item.quality.toLowerCase()); , item.mindur = legendary.maxDur; , item.mindur=legendary.maxDur;if(item.mindur 2){ui.$inventoryEquip.find(\ .item[data-itemid="\ +bypassId+\ "]\ ).removeClass(\ damaged\ );} )); //ここからはDL版で匿名Modを導入しても修理で枠の色が戻らない場合 //「player.actions.repair=new Function~」の一行を下記のものと入れ替えてください。 //player.actions.repair=new Function( invId , invClass , containerId , bypassId ,player.actions.repair.funcreplace( item.mindur = item.maxdur; , item.mindur=item.maxdur;if(item.mindur 2){ui.$inventoryEquip.find(\ .item[data-itemid="\ +bypassId+\ "]\ ).removeClass(\ damaged\ );} )); Enjoy Life 独自のゲーム性を目指して途中まで制作していたModです このプログラムはコピー・改造して構いませんので、Mod制作にご活用ください 特徴:アイテム・モンスターの一部に独自の画像を使用、レシピを変更、固定のマップ、 モンスターの動きを変更、細かい時間管理、マイルストーン変更、雨が降るなど 操作:Actionsメニューから寝具なしで眠れます。Rキーで休憩できます ダウンロード 対応バージョン:Beta 1.9.2 β2.9.6-steam +とりあえず編集時判明部分のみ とりあえず編集時判明部分のみ ゲーム中にF10を押して最上部の[Console]を選択、最下部 のボックスに入力すると適用されます 体力・スタミナ・満腹度・喉の渇き 最大値まで回復します localPlayer.stat.stats.Health.value=localPlayer.stat.stats.Health.max; localPlayer.stat.stats.Stamina.value=localPlayer.stat.stats.Stamina.max; localPlayer.stat.stats.Hunger.value=localPlayer.stat.stats.Hunger.max; localPlayer.stat.stats.Thirst.value=localPlayer.stat.stats.Thirst.max; 最大スタミナ・満腹度・喉の渇き 最大値を指定した値に再設定します、体力は別管理のようです localPlayer.stat.stats.Stamina.max=32000; localPlayer.stat.stats.Hunger.max=500; localPlayer.stat.stats.Thirst.max=500; 善行ポイント・悪行ポイント倍率 行動による評判値の変動倍率を変更します、累積評判値が下がると強い敵が発生しやすくなります localPlayer.gameOptionsCached.reputation.malignityMultiplier=-1; localPlayer.gameOptionsCached.reputation.benignityMultiplier=10; 最大所持重量 重量制限を指定した値に再設定します、力が上がって再計算されると元に戻るのでその都度入力が必要です localPlayer.stat.stats.Weight.max=90000; 所持品の一括修理 所持品の耐久度をMAXまで回復します for(i=0;i =localPlayer.inventory.containedItems.length-1;i++){localPlayer.inventory.containedItems[i].minDur=localPlayer.inventory.containedItems[i].maxDur} 所持品の重量ゼロ カバンの内容物や設置された収納箱の中身には影響しません、weightMultiplierの値をマイナスにすると更にたくさん持つこともできます、この変更値はセーブされません var weightMultiplier=0; for(i=0;i =localPlayer.inventory.containedItems.length-1;i++){ localPlayer.inventory.containedItems[i].weight=weightMultiplier} 所持品の腐敗までの時間延長 カバンの内容物や設置された収納箱の中身には影響しません for(i=0;i =localPlayer.inventory.containedItems.length-1;i++){if(localPlayer.inventory.containedItems[i].decay)localPlayer.inventory.containedItems[i].decay=999999}} ※所持品以外には適用されませんが木の棒を装備して着火するとDecayの値が設定されます その状態でこのコマンドを実行して装備品の着火した木の棒を右クリックしてBuildを選び 地面に立てると半永久の火源になり常に調理ができます、セーブ&ロードしても保持されます また、このたいまつの斜めに金床を設置することで同じく常に利用できるようになります 上記修理・重量・腐敗時間統合 for(i=0;i =localPlayer.inventory.containedItems.length-1;i++){localPlayer.inventory.containedItems[i].minDur=localPlayer.inventory.containedItems[i].maxDur;if(localPlayer.inventory.containedItems[i].decay){localPlayer.inventory.containedItems[i].decay=999999}localPlayer.inventory.containedItems[i].weight=0} 宝の地図を自分の足元に設定する、使用済みの場合は未使用に戻す for(i=0;i =localPlayer.inventory.containedItems.length-1;i++){if(localPlayer.inventory.containedItems[i].type==121){localPlayer.inventory.containedItems[i].tatteredMap.x=localPlayer.x;localPlayer.inventory.containedItems[i].tatteredMap.y=localPlayer.y;if(typeof localPlayer.inventory.containedItems[i].used==="undefined"){}else{delete localPlayer.inventory.containedItems[i].used}}} 新しく生成されるアイテムの重量を0.1に固定する 地下の岩を掘ったら適用されていなかったり、詳細検証中 for(i=0;i =511;i++){itemManager.cachedWeights[i] ={static 0,max 0,min 0}} 所持している箱の容量拡張 インベントリ内にある収納アイテム8種に容量増加(+99999)を付与します、既に設置されている収納箱には影響しません カバン・リュック・矢筒の比較を=から==に修正 for(i=0;i =localPlayer.inventory.containedItems.length-1;i++){if(localPlayer.inventory.containedItems[i].type==132||localPlayer.inventory.containedItems[i].type==280||localPlayer.inventory.containedItems[i].type==281||localPlayer.inventory.containedItems[i].type==288||localPlayer.inventory.containedItems[i].type==381||localPlayer.inventory.containedItems[i].type==88||localPlayer.inventory.containedItems[i].type==126||localPlayer.inventory.containedItems[i].type==224){localPlayer.inventory.containedItems[i].quality=4;localPlayer.inventory.containedItems[i].legendary = {type 3, value 99999}}} プレイヤーの位置 pos()で現在の位置を取得、tp(x,y,z)で指定座標へ移動、z=1で地上、z=0で地下、zは省略可能 mons()で敵の右隣に移動、左に移動すると先制攻撃、カッコ内に数値を入れると指定した数の敵をスキップ 拠点の近くにヤギなどを繋いで敵を倒していくとmons()を呼び出すと拠点に戻れるようになる、次の敵はmons(1)で探せる function pos(){if(localPlayer.z==1){console.log("地上 "+localPlayer.x+","+localPlayer.y+")")}else{console.log("地下 "+localPlayer.x+","+localPlayer.y+")")}};function tp(x,y,z=-1){localPlayer.x=x;localPlayer.y=y;if(z==0||z==1){localPlayer.z=z}}function mons(skip=0){for(i=0;i =island.creatures.length-1;i++){if(island.creatures[i]!==undefined){if(skip =0){localPlayer.x=island.creatures[i].x+1;localPlayer.y=island.creatures[i].y;localPlayer.z=island.creatures[i].z;console.log("ID="+i+" "+island.creatures[i].type);skip=-99;break}else{skip--}}}if(skip!=-99){console.log("全てのモンスターを撃破済です")}} +steam2.9.6用スイッチ steam2.9.6用スイッチ(仮) //本体部分(v0.1) typeof userDiv!="undefined" document.body.removeChild(userDiv);userDiv=document.createElement("mod_switch");userDiv.innerHTML=" div class= sw_move style= position absolute;padding 2px;font-size 10px;font-color white;border 1px solid;top 50px;left 100px;width 300px;background-color gray;z-index 999 id= txt steam2.9.6用スイッチ(仮) br / input type=button style= background-color red;color white;padding 1px id= btn1 value= HP onClick= sw.healHP() nbsp; input type=button style= background-color lime;color white;padding 1px id= btn2 value= ST onClick= sw.healST() nbsp; input type=button style= background-color purple;color white;padding 1px id= btn3 value= 空腹 onClick= sw.healHunger() nbsp; input type=button style= background-color cyan;color black;padding 1px id= btn4 value= 水分 onClick= sw.healThirst() nbsp; input type=button style= background-color yellow;color black;padding 1px id= btn5 value= BAD onClick= sw.healBAD() nbsp; input type=button style= background-color black;color white;padding 1px id= btn6 value= 全て onClick= sw.healALL() | input type=button style= background-color black;color white;padding 1px id= btn7 value= 自動回復(継続) onClick= sw.toggleHeal() br / input type=button style= background-color black;color white;padding 1px;margin-top 1px id= btn20 value= 箱容量+ onClick= sw.box() nbsp; input type=button style= background-color black;color white;padding 1px;margin-top 1px id= btn20 value= 所持重量0 onClick= sw.weight0() nbsp; input type=button style= background-color black;color white;padding 1px;margin-top 1px id= btn21 value= 重量0(継続) onClick= sw.toggleWeight0() nbsp; span id= span21 nbsp; nbsp; \/span hr / input type=button style= background-color black;color white;padding 1px;margin-top 1px id= btn10 value= 次の設置物 onClick= sw.doods() nbsp; select id= selDoodQuality style= background-color black;color white onClick= sw.doodCount() option value=1 品質指定無 \/option option value=0 Normal \/option option value=2 Remarkable \/option option value=3 Exceptional \/option option value=4 Legendary \/option \/select nbsp;スキップ数 nbsp; input type=button style= background-color black;color white;padding 1px;width 10px id= btn11 value= - onClick= sw.doodminus() nbsp; span id= doodskip 0 \/span nbsp; input type=button style= background-color black;color white;padding 1px;width 10px id= btn12 value= + onClick= sw.doodplus() nbsp; input type=button style= background-color black;color white;padding 1px;width 10px id= btn13 value= 0 onClick= sw.doodreset() nbsp; span id= doodCount 計0個 \/span br / input type=button style= background-color black;color white;padding 1px;margin-top 1px id= btn30 value= NPCへ移動 onClick= sw.moveNPC() nbsp; select id= selNPC style= color white;background-color black \/select nbsp; input type=button style= background-color black;color white;padding 1px;margin-top 1px id= btn31 value= 再取得 onClick= sw.getNPC() hr / span id= uLog \/span ";document.body.appendChild(userDiv);sw={};sw.log=function(n){$("#uLog").text(n)};sw.healHP=function(n=false){localPlayer.stat.stats.Health.value=localPlayer.stat.stats.Health.max;n==!1 sw.log("HPを回復しました")};sw.healST=function(n=false){localPlayer.stat.stats.Stamina.value=localPlayer.stat.stats.Stamina.max;n==!1 sw.log("スタミナを回復しました")};sw.healHunger=function(n=false){localPlayer.stat.stats.Hunger.value=localPlayer.stat.stats.Hunger.max;n==!1 sw.log("満腹になりました")};sw.healThirst=function(n=false){localPlayer.stat.stats.Thirst.value=localPlayer.stat.stats.Thirst.max;n==!1 sw.log("水分を補給しました")};sw.healBAD=function(n=false){localPlayer.status.Bleeding=!1;localPlayer.status.Poisoned=!1;localPlayer.status.Burned=!1;n==!1 sw.log("出血・毒・火傷を治療しました")};sw.healALL=function(n=false){sw.healHP(!0);sw.healST(!0);sw.healHunger(!0);sw.healThirst(!0);sw.healBAD(!0);n==!1 sw.log("完全回復しました")};sw.toggleHeal=function(){$("#btn7").css("color")!="rgb(255, 0, 0)"?($("#btn7").css("color","red"),clearInterval(sw.cure),sw.cure=setInterval(function(){sw.healALL(!0)},2e3),sw.log("自動回復(2秒毎)が有効になりました")) ($("#btn7").css("color","white"),clearInterval(sw.cure),sw.log("自動回復が無効になりました"))};sw.w0=0;sw.toggleWeight0=function(){$("#btn21").css("color")!="rgb(255, 0, 0)"?($("#btn21").css("color","red"),clearInterval(sw.w0),sw.w0=setInterval(function(){sw.weight0(!0)},2e3),sw.log("自動重量0/耐久回復が有効になりました")) ($("#btn21").css("color","white"),clearInterval(sw.w0),$("#span21").css("background-color","gray"),sw.log("自動重量0/耐久回復が無効になりました"))};sw.box=function(){for(cnt=0,i=0;i =localPlayer.inventory.containedItems.length-1;i++)(localPlayer.inventory.containedItems[i].type==132||localPlayer.inventory.containedItems[i].type==280||localPlayer.inventory.containedItems[i].type==281||localPlayer.inventory.containedItems[i].type==288||localPlayer.inventory.containedItems[i].type==381||localPlayer.inventory.containedItems[i].type==88||localPlayer.inventory.containedItems[i].type==126||localPlayer.inventory.containedItems[i].type==224) (localPlayer.inventory.containedItems[i].quality=4,localPlayer.inventory.containedItems[i].legendary={type 3,value 99999},cnt++);cnt 0?sw.log("所持している収納アイテム"+cnt+"個に容量増加を付与しました") sw.log("収納アイテムを所持していません")};sw.map=function(n=false){if(n==!0)for(i=0;i =localPlayer.inventory.containedItems.length-1;i++)localPlayer.inventory.containedItems[i].type==121 typeof localPlayer.inventory.containedItems[i].used!="undefined" delete localPlayer.inventory.containedItems[i].used;for(i=0;i =localPlayer.inventory.containedItems.length-1;i++)if(localPlayer.inventory.containedItems[i].type==121 typeof localPlayer.inventory.containedItems[i].used=="undefined"){localPlayer.inventory.containedItems[i].tatteredMap.x=localPlayer.x;localPlayer.inventory.containedItems[i].tatteredMap.y=localPlayer.y;localPlayer.inventory.containedItems[i].tatteredMap.z=localPlayer.z;console.log("Map "+i+" location="+localPlayer.inventory.containedItems[i].tatteredMap.x+","+localPlayer.inventory.containedItems[i].tatteredMap.y);break}sw.log("地図ID "+i+"を足元に設定しました")};sw.pos=function(){localPlayer.z==1?console.log("[1]地上 ("+localPlayer.x+","+localPlayer.y+")") console.log("[0]地下 ("+localPlayer.x+","+localPlayer.y+")")};sw.tp=function(n,t,i=-1,r=0){r!=0?(localPlayer.x+=n,localPlayer.y+=t) (localPlayer.x=n,localPlayer.y=t);(i==0||i==1) (localPlayer.z=i)};sw.defaultWeight=function(){for(i=0;i =511;i++)itemManager.cachedWeights[i]={static 0,max 0,min 0}};sw.defaultWeight();sw.mons=function(n=0){for(i=0;i =island.creatures.length-1;i++)if(island.creatures[i]!==undefined)if(n =0){localPlayer.x=island.creatures[i].x+1;localPlayer.y=island.creatures[i].y;localPlayer.z=island.creatures[i].z;sw.log("ID="+i+" "+island.creatures[i].type+"["+sw.monsStr(island.creatures[i].type)+"の右横へ移動しました]");n=-99;break}else n--;n!=-99 sw.log("全てのモンスターを撃破済です")};sw.monsStr=function(n){return sw.monsList[n]==undefined?"==unknown==" sw.monsList[n]};sw.tileev=function(n=0){for(tileev_found=!1,i=0;i =island.tileEvents.length-1;i++)if(typeof island.tileEvents[i]!="undefined")if(n =0){sw.tp(island.tileEvents[i].x+1,island.tileEvents[i].y,island.tileEvents[i].z);sw.log("ID="+i+" へジャンプしました");tileev_found=!0;break}else n--;tileev_found||sw.log("見つかりませんでした")};sw.weight0=function(n=false){for(i=0;i =localPlayer.inventory.containedItems.length-1;i++)localPlayer.inventory.containedItems[i].maxDur =999 (localPlayer.inventory.containedItems[i].maxDur=localPlayer.inventory.containedItems[i].type==15||localPlayer.inventory.containedItems[i].type==315||localPlayer.inventory.containedItems[i].type==490||localPlayer.inventory.containedItems[i].type==152||localPlayer.inventory.containedItems[i].type==446||localPlayer.inventory.containedItems[i].type==447?10 999),localPlayer.inventory.containedItems[i].minDur=localPlayer.inventory.containedItems[i].maxDur,localPlayer.inventory.containedItems[i].decay (localPlayer.inventory.containedItems[i].decay=9999999),localPlayer.inventory.containedItems[i].weight=0;sw.blinkColor("span21");n==!1 sw.log("鞄外の所持品重量を0に設定し、耐久を全快しました")};sw.getNPC=function(){for($("#selNPC option").remove(),i=0;i =island.npcs.length-1;i++)typeof island.npcs[i]!==undefined $("#selNPC").append($(" option ").html(island.npcs[i].renamed).val(i))};sw.getNPC();sw.moveNPC=function(){sw.tp(island.npcs[$("#selNPC").val()].x+1,island.npcs[$("#selNPC").val()].y,island.npcs[$("#selNPC").val()].z);sw.log($("#selNPC option selected").html()+"の右横へ移動しました")};sw.doodplus=function(){$("#doodskip").text(parseInt($("#doodskip").text())+1)};sw.doodminus=function(){$("#doodskip").text() 0 $("#doodskip").text(parseInt($("#doodskip").text())-1)};sw.doodreset=function(){$("#doodskip").text("0")};sw.doodCount=function(n=1){for(cnt=0,n=$("#selDoodQuality").val(),i=0;i =island.doodads.length-1;i++)island.doodads[i]!==undefined (n!=1?island.doodads[i].quality==n cnt++ cnt++);$("#doodCount").text("計"+cnt+"個")};sw.doodCount();sw.doods=function(n=-1,t=0){for(n=$("#selDoodQuality").val(),t=parseInt($("#doodskip").text()),tiledood_found=!1,i=0;i =island.doodads.length-1;i++)if(typeof island.doodads[i]!="undefined" island.doodads[i].ownerIdentifier===undefined)if(n!=1){if(island.doodads[i].quality==n)if(t =0){sw.tp(island.doodads[i].x+1,island.doodads[i].y,island.doodads[i].z);sw.log("ID="+i+" "+island.doodads[i].type+"["+sw.doodStr(island.doodads[i].type)+"]へジャンプしました");tiledood_found=!0;break}else t--}else if(t =0){sw.tp(island.doodads[i].x+1,island.doodads[i].y,island.doodads[i].z);sw.log("ID="+i+" "+island.doodads[i].type+"["+sw.doodStr(island.doodads[i].type)+"]へジャンプしました");tiledood_found=!0;break}else t--;sw.doodCount();tiledood_found||sw.log("見つかりませんでした")};sw.doodStr=function(n){return sw.doodList[n]==undefined?"==unknown==" sw.doodList[n]};sw.doodList={0 "木の扉",1 "木の柵",2 "木の壁",3 "陶器の壁",4 "砂岩の壁",5 "石の壁",6 "爆発罠",7 "落とし罠",8 "くくり罠",9 "魔物のくくり罠",10 "太陽光蒸留器",11 "木の収納箱",12 "木の収納箱(施錠)",13 "魔物の像",14 "草",15 "クレマチス",16 "アザミ",17 "マッシュルーム",18 "ベニテングダケ",19 "スイッチグラス",20 "昆布",21 "ネギ",22 "パイナップル",23 "埋まった石",24 "木苺",25 "センダン草",26 "綿花",27 "ウチワサボテン",28 "タンブルウィード",29 "石の蒸留器",30 "石の蒸留器(着火)",31 "石の焚き火セット",32 "石の焚き火セット(着火)",33 "砂岩の窯",34 "砂岩の窯(着火)",35 "石の炉",36 "石の炉(着火)",37 "木の棒(設置)",38 "木の棒(設置・着火)",39 "石の鍛冶台",40 "洞窟の入口",41 "木の扉(開)",42 "木の門",43 "木の門(開)",44 "ツタウルシ",45 "錬鉄の収納箱",46 "鉄の収納箱",47 "豪華な木の収納箱",48 "スケルトン",49 "陶器の窯",50 "陶器の窯(着火)",51 "陶器の焚き火セット",52 "陶器の焚き火セット(着火)",53 "陶器の炉",54 "陶器の炉(着火)",55 "陶器の蒸留器",56 "陶器の蒸留器(着火)",57 "砂岩の焚き火セット",58 "砂岩の焚き火セット(着火)",59 "砂岩の炉",60 "砂岩の炉(着火)",61 "砂岩の蒸留器",62 "砂岩の蒸留器(着火)",63 "石の窯",64 "石の窯(着火)",65 "錬鉄の鍛冶台",66 "鉄の鍛冶台",67 "楓の木",68 "リンゴの木",69 "トウヒの木",70 "ヒノキの木",71 "ヤシの木",72 "レタス",73 "ジャガイモ",74 "ニンジン",75 "トウモロコシ",76 "キュウリ",77 "トマト",78 "カボチャ",79 "サトウキビ",80 "小麦",81 "銅の収納箱",82 "銅の鍛冶台",83 "樹皮の松明(設置)",84 "樹皮の松明(設置・着火)",85 "獣脂の松明(設置)",86 "獣脂の松明(設置・着火)",87 "ヨシュアの木",88 "弁慶サボテン",89 "アロエ",90 "獣脂のロウソク(設置)",91 "獣脂のロウソク(設置・着火)",92 "木綿の寝具(設置)",93 "羽毛の寝具(設置)",94 "ハンモック(設置)",95 "草の寝具(設置)",96 "つなぎ柱",97 "陶器の井戸",98 "砂岩の井戸",99 "石の井戸",100 "セメントの壁",101 "トウヒの木(雪)",102 "コケモモ",103 "ウメモドキ",104 "ヒナゲシ",105 "銅の収納箱(施錠)",106 "錬鉄の収納箱(施錠)",107 "鉄の収納箱(施錠)",108 "豪華な木の収納箱(施錠)"};sw.monsList={0 "スライム",1 "スライムキューブ",2 "巨大クモ",3 "熊",4 "ウサギ",5 "ヘビ",6 "巨大ネズミ",7 "ネズミ",8 "吸血コウモリ",9 "灰色オオカミ",10 "インプ",11 "ボグリング",12 "うごく岩",13 "サメ",14 "ゾンビ",15 "スケルトン",16 "幽霊海賊",17 "高速クモ",18 "ニワトリ",19 "転移クモ",20 "炎の精霊",21 "タラ",22 "ホブゴブリン",23 "うごくキノコ",24 "巨大イカ",25 "洞窟魚",26 "ハーピー",27 "デーモン",28 "骸骨魔導士",29 "クロウワーム",30 "火竜",31 "スナネコ",32 "溶岩虫",33 "ヤギ",34 "吸血ヒル",35 "トビハゼ",36 "サソリ",37 "ガラガラヘビ",38 "カモシカウサギ",39 "キセンフエダイ",40 "ウォールアイ",41 "ウィスプ",42 "北極オオカミ",43 "北極ウサギ",44 "白熊",45 "ペンギン",46 "氷の精霊",47 "氷の魔女"};sw.colorLime="rgb(0, 255, 0)";sw.colorCyan="rgb(0, 255, 255)";sw.colorRed="rgb(255, 0, 0)";sw.blinkColor=function(n){$("#"+n).css("background-color")==sw.colorLime?$("#"+n).css("background-color",sw.colorRed) $("#"+n).css("background-color",sw.colorLime)} //以下は上のものを読み込んだ後に追加で読み込んでください、作者の環境では一度に読み込むとエラーを吐き出します //ウィンドウをマウスで動かせるようにする (function(){var elements = document.getElementsByClassName("sw_move");var x,y;for(i=0;i elements.length;i++){elements[i].addEventListener("mousedown", mdown, false);elements[i].addEventListener("touchstart", mdown, false);}function mdown(e){this.classList.add("drag");if(e.type === "mousedown"){var event=e}else{var event = e.changedTouches[0]}x=event.pageX-this.offsetLeft;y=event.pageY-this.offsetTop;document.body.addEventListener("mousemove",mmove,false);document.body.addEventListener("touchmove",mmove,false)}function mmove(e){var drag=document.getElementsByClassName("drag")[0];if(e.type === "mousemove"){var event=e}else{var event=e.changedTouches[0]}e.preventDefault();drag.style.top=event.pageY-y+"px";drag.style.left=event.pageX-x+"px";drag.addEventListener("mouseup", mup, false);document.body.addEventListener("mouseleave", mup, false);drag.addEventListener("touchend", mup, false);document.body.addEventListener("touchleave", mup, false)}function mup(e){var drag = document.getElementsByClassName("drag")[0];document.body.removeEventListener("mousemove", mmove, false);drag.removeEventListener("mouseup", mup, false);document.body.removeEventListener("touchmove", mmove, false);drag.removeEventListener("touchend", mup, false);drag.classList.remove("drag")}})() 【動作確認/v0.11f】■[DurMax]:追伸/「骨の針」の素材となった「骨の棒」に現在耐久値が下がっていたアイテムが混入した可能性ですが、一連の動作確認においてインベントリのアイテムが山になったのを切っ掛けに、現在、在庫アイテムの一斉棚卸しの真っ最中でして、前々から溜め込んでいた様々なアイテムが入った宝箱を全部ひっくり返している状態です。当然、その中には現在耐久値が下がっているモノが含まれていて、それらが動作確認中に混入した事も考えられます。今後の動作確認においてはそういった古いアイテムが混ざらないよう注意します。 -- (名無しさん) 2015-05-19 17 52 59 【動作確認/v0.11f】■[popAberrant]:先の報告からこちら、新たに発生したと思われるモンスターで通常種は見かけません(多分)。 /■[DurMax]:[popAberrant]の動作確認がてら変異種から入手したアイテムを素材にアイテム製作を行い耐久値の状況をみておりますが、今の所は現在耐久値=最大耐久値で製作されています。 -- (名無しさん) 2015-05-20 01 37 12 【要望】■[MultiCreate]:[dropAllExtend]と同様に装備中のアイテムやQSのアイテムは[MultiCreate]による連続製作の対象から除外した方が良いと思いますが如何でしょう。武器や道具として使用中のアイテムが[MultiCreate]ボタンをクリックしたら待った無しの連続製作で素材として消費されてしまうと、いざ戦闘という時に素手になっている事に気付いたり、死骸からの剥ぎ取りに必要な「尖った物」が全て消費されて「切り出し」ができなかったりと(←まあ「掘る」でも良いのですが)、少々ですが不便な点も見受けられましたので。 -- (名無しさん) 2015-05-20 01 37 39 装備品・QS除外について、dropAllと製作時では処理の方法が違うので、装備・QSを除外できるか調べてみます というか軽く製作の処理を見てみた感じ鞄の中身をスキャンしてる様子がないんだけど見落としてるんだろうか・・・ -- (スイッチの人) 2015-05-20 11 49 21 手動で1つずつアイテム製作してみるとインベントリ→装備(E)→QSの順で素材となるアイテムを消費している様ですが…実装が難しそうなら仕様上の制限という事でもかまいません。 -- (名無しさん) 2015-05-20 12 50 58 v0.11gに更新しました multiCreateの対象から装備品・QS内のものを除外しました もともと鞄に入っているものは製作対象アイテムじゃなかったというオチね -- (スイッチの人) 2015-05-20 13 39 20 【動作確認/v0.11g】■[MultiCreate] 連続製作で装備アイテムとQSアイテムが素材として使用されない事を確認しました。早速の対応有り難うございます。 -- (名無しさん) 2015-05-20 14 13 37 今modを作ってますが、技術情報の内部処理の書き換えの所が参考になって助かってます。ありがとうございます! -- (はごろもフーズ) 2015-06-23 08 34 42 行き詰まってるコトや実装の仕方についてここで質問してくれれば分かる範囲ですがこっちでも調べてみますよ -- (スイッチの人) 2015-06-24 23 13 07 匿名Modの作者です。Wayward 2.0の一般公開を確認&一通りプレイ完了してからMODを再開発したいと考えています。MODは2.0用に作り直す予定で1.9.2との互換性は考慮しません。初めに日本語対応してから匿名Mod2.0の開発に取り組むと思います。 -- (匿名) 2015-07-25 05 24 37 名前 コメント すべてのコメントを見る
https://w.atwiki.jp/openmusic/pages/73.html
リングモジュレーション。 入力 説明 デフォ [0]ch1 基音のmidiセントor周波数。 6000 [1]ch2 モジュレータのmidiセントor周波数。 6200 ch1、ch2には音高値、音高値のリスト、音高値リストのリスト、CHORDオブジェクトが入力できる。 [2]unit 入力数値の解釈。インレットをクリックして選択する。 Midics を選ぶと音高入力をmidiセントとして受け取りmidiセントを出力。 Freqs を選ぶと音高入力を周波数として受け取り周波数を出力。 Midics [3]type ch1がリストであった場合の出力形式。インレットをクリックして選択する。 ChordSeq を選ぶと、ch1のリストの要素がそれぞれch2のモジュレータで処理され、和音のリストが返ってくる。 Chord を選ぶと、出来た全ての音成分が1つの和音にまとめられて返ってくる。 Chord リングモジュレーションの概要 freq-mod(フリーケンシーモジュレーション、周波数変調)が上方あるいは下方いずれかの非整数倍音スペクトルを作り出すのに対し、このring-mod(リングモジュレーション)は上方と下方に等しい数値の変調がかかった結果を出力する。したがってこの項を読む前に、まずfreq-modの項を参照されたい。 freq-modでの例示には、220, 440, 880にそれぞれ30を足した数値として250, 470, 910が得られるということを書いた。同じく30の負の値-30を足せば(つまり30を引けば)、190, 410, 850という数値が得られる。ring-modではこの2つの出力結果が混ぜ合わされ、190, 250, 410, 470, 850, 910という6つの数値が得られる。(なおこのring-modの出力結果では、これらの最小公倍数によって得られる下方倍音としてとても低い音高の音が付け足されている場合がある。) これはそもそもリングモジュレーションの成立経緯にある。リングモジュレーションはエンヴェロープをかけるモジュレータ側が正弦波のオシレータの周波数を操作することによって行われる。被変調側も正弦波であれば2つの音は分離して聞こえるが、楽器音やしゃべり声などの場合は、複雑な非整数倍音がからんで濁った音として聞こえる。例えば日本の国内電話の発信音は400Hz(G4に近い)の正弦波音に7Hzの変調をかけているため、プルルルルルルという「巻いた」音として聞こえる。海外の電話局は大抵この変調がかけられていないため、プーーーー、プーーーー、という長伸音になる。このプルルルルルという音は日本の電話のみの特徴である。しかし7Hzは正弦波としては可聴音域ではないため、このような振動音として聞こえるのであるが、可聴音域に入ってくる20Hz付近からは、倍音が分離して聞こえ始める。これがリングモジュレーションである。 リングモジュレーションの方がフリーケンシーモジュレーションよりも歴史的に早く成立したため、前者を用いた音楽作品は1950年代頃から既に見られる。例えばカールハインツ・シュトックハウゼンKarlheinz Stockhausenは『コンタクテKontakte』『マントラMantra』『ヒュムネンHymnen』など複数の作品でこの技術を多用したし、武満徹のハープ独奏とテープのための『スタンザII』ではテープ部分にリングモジュレータを用いた変調が聞かれるほか、そのテープ部分の代わりにライブエレクトロニクスとして「2個のリングモジュレータを用いても良い」という指示がある。 カールハインツ・シュトックハウゼンKarlheinz Stockhausen『マントラMantra』Spotify (特にトラック9は分かりやすい例。) 武満徹 ハープ独奏とテープのための『スタンザII』Spotify (トラック11) より身近な例としては、ニュース番組に良くある顔をモザイクで隠した容疑者のインタビューなどで使われる声の変調は、一昔前は大抵このリングモジュレータを用いていた。ただし最近はフリーケンシーモジュレータの使用も増えており、上方倍音のみの極端にうわずった声や、下方倍音の極端にドスの聞いた声のみが聞こえる場合もある。
https://w.atwiki.jp/rockband/pages/107.html
オフラインとオンラインで遊べます 曲を指定された条件でクリアすると写真をGet Chapter Challenges Modeはチャプターの曲を連続プレイ CHAPTER 1 The Cavern 63 1. Twist And Shout 2. Boys 3. Do You Want To Know A Secret 4. I Saw Her Standing There CHAPTER 2 The Ed Sullivan Show 64 1. I Want To Hold Your Hand 2. Can t Buy Me Love 3. A Hard Day s Night 4. I Wanna Be Your Man CHAPTER 3 Shea Stadium 65 1. Ticket To Ride 2. I m Looking Through You 3. Eight Days A Week 4. If I Needed Someone 5. I Feel Fine CHAPTER 4 Budokan 66 1. Day Tripper 2. And Your Bird Can Sing 3. Drive My Car 4. Taxman 5. Paperback Writer CHAPTER 5 Abbey Road 66- 67 1. Yellow Submarine 2. Sgt.Pepper s Lonely Hearts Club Band / With A Little Help From My Friends 3. Lucy In The Sky With Diamonds 4. Getting Better 5. Within You Without You / Tomorrow Never Knows 6. Good Morning Good Morning CHAPTER 6 Abbey Road 67- 68 1. I Am The Walrus 2. Hello Goodbye 3. Hey Bulldog 4. Back In The U.S.S.R 5. Dear Prudence 6. While My Guitar Gently Weeps CHAPTER 7 Abbey Road 68- 69 1. Helter Skelter 2. Revolution 3. Birthday 4. Octopus s Garden 5. Something 6. Come Together 7. Here Comes The Sun CHAPTER 8 Apple Corps Rooftop 69 1. Dig A Pony 2. I ve Got A Feeling 3. Don t Let Me Down 4. I Me Mine 5. I Want You(She s So Heavy) 6. Get Back Encore 1. The End
https://w.atwiki.jp/tarutarusauce/pages/2.html
メニュー AOC用マシンの再構築 サクラエディタのインストール xyzzyのインストール トップページ プラグイン紹介 まとめサイト作成支援ツール メニュー メニュー2 リンク @wiki @wikiご利用ガイド 他のサービス 無料ホームページ作成 無料ブログ作成 2ch型掲示板レンタル 無料掲示板レンタル お絵かきレンタル 無料ソーシャルプロフ ここを編集